Module (45%)
Section (27%)

Подробно о методах: продолжение

Поскольку __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

Запустите программу и протестируйте ее.



Code

class Classy:
def __init__(self, value = None):
self.var = value


obj_1 = Classy("object")
obj_2 = Classy()

print(obj_1.var)
print(obj_2.var)
Report a BugSettingsCopy to ClipboardPasteShareDownloadUpload Local FileResetTipTip