self
1. Что такое self
self
self
— это ссылка на текущий экземпляр класса.Через
self
объекты могут достучаться к атрибутам и методам класса.В Python
self
передаётся автоматически при вызове метода, но его нужно обозначить первым параметром метода.
2. Пример использования
class User:
def __init__(self, name, age):
self.name = name # атрибут экземпляра
self.age = age
def greet(self):
return f"Hello, {self.name}!"
# Создание объекта
user1 = User("Alice", 30)
print(user1.greet()) # "Hello, Alice!"
Здесь
self.name
иself.age
— атрибуты конкретного объектаuser1
.Метод
greet
используетself
, чтобы обратиться к этим атрибутам.
3. Важные моменты
self
обязательно в методах экземпляра, но не нужно передавать при вызове:
user1.greet() # Python автоматически подставляет user1 в self
Можно использовать любое имя вместо self, но по стандарту используют именно
self
:
class MyClass:
def method(this, x):
this.x = x
self нужен только для методов экземпляра, а не для статических методов:
class MyClass:
@staticmethod
def static_method():
print("No self here")
4. Применение в автоматизации тестирования
Page Object Model:
self
позволяет хранить элементы страницы как атрибуты и использовать их в методах:
class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_input = driver.find_element(...)
def login(self, username, password):
self.username_input.send_keys(username)
Тестовые данные и состояния объектов:
self
хранит текущие значения атрибутов для проверки состояния теста.
💡 Вывод:
self
= ссылка на конкретный объект класса.Через
self
методы и атрибуты экземпляра связываются с конкретным объектом, что важно в ООП и автоматизации тестирования.
Last updated
Was this helpful?