TesterCity

A place where software quality lives

Python: передача значения переменной в контексте экземпляра класса

Пример ниже показывает как в Python реализована передача значений между методами используя контекст экземпляра класса (т.е., когда мы порождаем переменную в выражении «c = A()», обращаясь к ней, мы обращаемся к экземпляру класса).

Как известно, в Python функции могут существовать вне класса, в этом случае в параметрах такой функции может ничего не передаваться. Однако, когда мы определяем функцию внутри класса, первым параметром идёт «self«, т.е. ссылка на контекст экземпляра класса, и такую функцию мы уже будем называть методом. Эта ссылка неявно передаётся в метод интерпретатором каждый раз когда мы вызываем метод, таким образом нам не нужно указывать это значение самостоятельно.

class A:
    list1 = []

    def method_a(self):
        self.list1 = [1, 2, 3]

    def method_b(self):
        print(self.list1)

Теперь запускаем код в интерпретаторе

   # create instance of class A() and name the instance 'c'
c = A()
   # call method_a() for instance 'c', this will set value to list1 on the instance-wide
c.method_a()
   # call mathod_b() for instance 'c', this will get value of list1 from instance
c.method_b()
>>> [1, 2, 3]
   # we can also get the value of 'list1' by calling the attribute of instance 'c'
c.list1
>>> [1, 2, 3]

Это свойство Python, как объектно-ориентированный языка, позволяет передавать значения из одного тестового метода в другой тестовый метод.

GUI тесты на Python: Win32 API, MS UI Automation, и немного о будущем

Один из разработчиков Pywinauto рассказывает как с помощью Python и этого фреймворка можно автоматизировать администрирование/тестирование приложений на примере Windows.

Также стоит обратить внимание на YouTube-канал Академии Яндекса «Тестирование«, там много интересных и полезных видео по теме.

Quick start with Jupyter Notebook

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanations. In fact, it’s an interactive IDE, allowing you to share your work with anyone, collaborate and review your Python code.

It’s a web-based tool, though you can run it on your local machine (just as I do). You could check how it works by opening and running through any so called notebook (a page file with .ipynb extension, at the Jupyter Project site https://try.jupyter.org/

Running your local Jupyter instance is pretty simple. After installation, just open command line in directory were you’d like to store/open your .ipynb files and hit command:

jupyter notebook

That’s it! A browser page «http://localhost:8888/tree» will shortly pop up displaying your own Jupyter local instance and you’re ready to rock.

Jupyter is widely used in Machine Learning and Data Science areas as it has not only great UI and store your computations as if you’d have in paper notebook, but also data cleaning and transformation, numerical simulation, statistical modeling, etc.

I use it to run scikit-learn, pandas, numpy and matplotlib libraries, all great for the Data Mining/Analysis and Machine Learning tasks.

Here is also «A gallery of interesting Jupyter Notebooks«, worth to visit and check it out to see loads of the examples where Jupyter Notebook can be useful.

Pluralsight — получаем бесплатный аккаунт и скачиваем видео

Pluralsight — отличный видеосервис для изучения программирования, разных связанных с ИТ и не только направлений. Его отличает от других площадок большое количество качественного контента, удобный интерфейс и даже возможность получения консультаций от тренеров.

Но есть проблема — доступ платный, подписка на год стоит 299$, для многих это серьёзная сумма!

К счастью, можно получить доступ бесплатно на 3 месяца. А далее вы сами решите, нужно ли оно вам.

Read the rest of this entry »