Подробно о методах: продолжение
Поскольку __init__
является методом, а метод является функцией, Вы можете выполнять те же приемы с конструкторами/методами, что и с обычными функциями.
Пример в редакторе показывает, как определить конструктор со значением аргумента по умолчанию. Проверьте это.
Код выводит:
object
None
output
Все, что мы сказали о манипулировании именами свойств, относится и к именам методов - метод, имя которого начинается с __
, частично скрыт.
В примере показан этот эффект:
class Classy:
def visible(self):
print("visible")
def __hidden(self):
print("hidden")
obj = Classy()
obj.visible()
try:
obj.__hidden()
except:
print("failed")
obj._Classy__hidden()
Вывод кода:
visible
failed
hidden
output
Запустите программу и протестируйте ее.