self
1. Что такое self
selfself— это ссылка на текущий экземпляр класса.Через
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 = xself нужен только для методов экземпляра, а не для статических методов:
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?