Programação orientada a objetos em Python
Alex Yarosh
Content Quality Analyst @ DataCamp
class Customer:# código para a classe vai aquipass
class <name>: inicia uma definição de classe class é indentadopass para criar uma classe "vazia"c1 = Customer()
c2 = Customer()
ClassName() para criar um objeto da classe ClassNameclass Customer:
def identify(self, name):
print("Eu sou o Cliente " + name)
self como o 1º argumento na definição do métodocust = Customer()
cust.identify("Laura")
Eu sou o Cliente Laura
self ao chamar método em um objetoclass Customer:
def identify(self, name):
print("Eu sou o Cliente " + name)
cust = Customer()
cust.identify("Laura")
self é um substituto para um objeto específico usado na definição da classeself quando o método é chamado de um objeto:cust.identify("Laura") será interpretado como Customer.identify(cust, "Laura")
Customer deve ser um atributo$$\text{\Large{Atributos são criados por atribuição (=) em métodos}}$$
class Customer: # define o atributo nome de um objeto para new_name def set_name(self, new_name):# Cria um atributo atribuindo um valor self.name = new_name # <-- criará .name quando set_name for chamado
cust = Customer() # <--.name ainda não existe aquicust.set_name("Lara de Silva") # <--.name é criado e definido como "Lara de Silva"print(cust.name) # <--.name pode ser usado
Lara de Silva
class Customer:
# Usando um parâmetro
def identify(self, name):
print("Eu sou o Cliente" + name)
cust = Customer()
cust.identify("Eris Odoro")
Eu sou o Cliente Eris Odoro
class Customer:
def set_name(self, new_name):
self.name = new_name
# Usando .name do próprio objeto
def identify(self):
print("Eu sou o Cliente" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
Eu sou o Cliente Rashid Volkov
Programação orientada a objetos em Python