Introdução à programação orientada a objetos em Python
George Boorman
Curriculum Manager, DataCamp
self como primeiro argumentoself.___class MyClass: # definição de função na classe # primeiro argumento é self def my_method1(self, other_args...): # faça coisas aquidef my_method2(self, my_attr): # atributo criado por atribuição self.my_attr = my_attr ...
__init__() é chamado toda vez que um objeto é criado__methodname__class Customer:
def __init__(self, name):
# Crie o atributo .name e defina como o parâmetro name
self.name = name
print("The __init__ method was called")
# __init__ é chamado implicitamente
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 criado obj.my_method1(val1) # attr2 criado obj.my_method2(val2)
class MyClass: def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 ...# Todos os atributos são criados obj = MyClass(val1, val2)
class Customer: # Adicione o argumento balance def __init__(self, name, balance):self.name = name # Adicione o atributo balance self.balance = balance print("The __init__ method was called")
# __init__ é chamado
cust = Customer("Lara de Silva", 1000)
print(cust.name)
print(cust.balance)
The __init__ method was called
Lara de Silva
1000
class Customer:
# Defina um valor padrão para balance
def __init__(self, name, balance=0):
self.name = name
# Atribua o novo atributo
self.balance = balance
print("The __init__ method was called")
# Não especifique balance explicitamente cust = Customer("Lara de Silva")print(cust.name) # O atributo balance é criado mesmo assim print(cust.balance)
The __init__ method was called
Lara de Silva
0
__init__()__init__()CamelCase para classes, lower_snake_case para funções e atributos
__init__()CamelCase para classe, lower_snake_case para funções e atributos
self como selfclass MyClass:
# Funciona, mas não é recomendado
def my_method(george, attr):
george.attr = attr
__init__()CamelCase para classe, lower_snake_case para funções e atributos
self é selfclass MyClass:
"""Esta classe não faz nada"""
pass
Introdução à programação orientada a objetos em Python