Объектно-ориентированное программирование на Python
Alex Yarosh
Content Quality Analyst @ DataCamp
class Customer:# code for class goes herepass
class <name>: начинает определение классаclass имеет отступpass для создания «пустого» классаc1 = Customer()
c2 = Customer()
ClassName() для создания объекта класса ClassNameclass Customer:
def identify(self, name):
print("I am Customer " + name)
self как 1-й аргумент в определении методаcust = Customer()
cust.identify("Laura")
I am Customer Laura
self не указываетсяclass Customer:
def identify(self, name):
print("I am Customer " + name)
cust = Customer()
cust.identify("Laura")
self — это подстановка для конкретного объекта в определении классаself автоматически при вызове метода из объекта:cust.identify("Laura") интерпретируется как Customer.identify(cust, "Laura")
Customer должно быть атрибутом$$\text{\Large{Атрибуты создаются присваиванием (=) в методах}}$$
class Customer: # set the name attribute of an object to new_name def set_name(self, new_name):# Create an attribute by assigning a value self.name = new_name # <-- will create .name when set_name is called
cust = Customer() # <--.name doesn't exist here yetcust.set_name("Lara de Silva") # <--.name is created and set to "Lara de Silva"print(cust.name) # <--.name can be used
Lara de Silva
class Customer:
# Using a parameter
def identify(self, name):
print("I am Customer" + name)
cust = Customer()
cust.identify("Eris Odoro")
I am Customer Eris Odoro
class Customer:
def set_name(self, new_name):
self.name = new_name
# Using .name from the object it*self*
def identify(self):
print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Объектно-ориентированное программирование на Python