Object-Oriented Programming in Python
Alex Yarosh
Content Quality Analyst @ DataCamp
class Customer:# code for class goes herepass
class <name>: starts a class definition class is indentedpass to create an "empty" classc1 = Customer()
c2 = Customer()
ClassName() to create an object of class ClassNameclass Customer:
def identify(self, name):
print("I am Customer " + name)
self as the 1st argument in method definitioncust = Customer()
cust.identify("Laura")
I am Customer Laura
self when calling method on an objectclass Customer:
def identify(self, name):
print("I am Customer " + name)
cust = Customer()
cust.identify("Laura")
self is a stand-in for a particular object used in class definitionself when method called from an object:cust.identify("Laura") will be interpreted as Customer.identify(cust, "Laura")
Customer's' name should be an attribute$$\text{\Large{Attributes are created by assignment (=) in methods}}$$
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
Object-Oriented Programming in Python