- en
- Language: ru
- Documentation version: latest
Область видимости
У каждого метода в классе своя локальная область видимости. Это значит,
что один метод класса не видит переменные другого метода класса. Для
того чтобы переменные были доступны, надо присваивать их экземпляру
через self.name
.
По сути метод - это функция привязанная к объекту. Поэтому все
нюансы, которые касаются функция, относятся и к методам.
Переменные экземпляра доступны в другом методе, потому что каждому
методу первым аргументом передается сам экзепляр. В примере ниже, в
методе __init__
переменные hostname и model присваиваются
экземпляру, а затем в info используются, за счет того, что экземпляр
передается первым аргументом:
In [32]: class Switch:
...: def __init__(self, hostname, model):
...: self.hostname = hostname
...: self.model = model
...:
...: def info(self):
...: print('Hostname: {}\nModel: {}'.format(self.hostname, self.model))
...: