Вступ до обʼєктно-орієнтованого програмування в Python
George Boorman
Curriculum Manager, DataCamp
self як перший аргументself.___class MyClass: # function definition in class # first argument is self def my_method1(self, other_args...): # do things heredef my_method2(self, my_attr): # attribute created by assignment self.my_attr = my_attr ...
__init__() викликається щоразу, коли створюється об'єкт__methodname__class Customer:
def __init__(self, name):
# Створити атрибут .name і задати його з параметра name
self.name = name
print("The __init__ method was called")
# __init__ викликається неявно
cust = Customer("Lara de Silva")
print(cust.name)
The __init__ method was called
Lara de Silva
class MyClass: def my_method1(self, attr1): self.attr1 = attr1 ... def my_method2(self, attr2): self.attr2 = attr2 ...obj = MyClass() # attr1 створено obj.my_method1(val1) # attr2 створено obj.my_method2(val2)
class MyClass: def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 ...# Усі атрибути створено obj = MyClass(val1, val2)
class Customer: # Додайте аргумент balance def __init__(self, name, balance):self.name = name # Додайте атрибут balance self.balance = balance print("The __init__ method was called")
# __init__ викликається
cust = Customer("Lara de Silva", 1000)
print(cust.name)
print(cust.balance)
The __init__ method was called
Lara de Silva
1000
class Customer:
# Встановіть типове значення для balance
def __init__(self, name, balance=0):
self.name = name
# Присвойте новий атрибут
self.balance = balance
print("The __init__ method was called")
# Не задавайте balance явно cust = Customer("Lara de Silva")print(cust.name) # Атрибут balance все одно створено print(cust.balance)
The __init__ method was called
Lara de Silva
0
__init__()__init__()CamelCase для класів, lower_snake_case для функцій і атрибутів
__init__()CamelCase для класу, lower_snake_case для функцій і атрибутів
self як selfclass MyClass:
# Це працює, але не рекомендовано
def my_method(george, attr):
george.attr = attr
__init__()CamelCase для класу, lower_snake_case для функцій і атрибутів
self — це selfclass MyClass:
"""Цей клас нічого не робить"""
pass
Вступ до обʼєктно-орієнтованого програмування в Python