Object-Oriented Programming in Python
Alex Yarosh
Content Quality Analyst @ DataCamp
class Customer:
# code for class goes here
pass
class <name>:
starts a class definition class
is indentedpass
to create an "empty" classc1 = Customer()
c2 = Customer()
ClassName()
to create an object of class ClassName
class 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 yet
cust.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