Pemrograman Berorientasi Objek di Python
Alex Yarosh
Content Quality Analyst @ DataCamp
self sebagai argumen pertamaself.___
class MyClass:
# definisi fungsi dalam kelas
# argumen pertama adalah self
def my_method1(self, other_args...):
# lakukan sesuatu di sini
def my_method2(self, my_attr):
# atribut dibuat dengan penugasan
self.my_attr = my_attr
...
__init__() dipanggil setiap kali objek dibuat.class Customer: def __init__(self, name): self.name = name # <--- Buat atribut .name dan atur ke parameter name print("Metode __init__ dipanggil")cust = Customer("Lara de Silva") #<--- __init__ dipanggil secara implisit print(cust.name)
Metode __init__ dipanggil
Lara de Silva
class Customer: def __init__(self, name, balance): # <-- parameter balance ditambahkanself.name = name self.balance = balance # <-- atribut balance ditambahkan print("Metode __init__ dipanggil")cust = Customer("Lara de Silva", 1000) # <-- __init__ dipanggil print(cust.name) print(cust.balance)
Metode __init__ dipanggil
Lara de Silva
1000
class Customer: def __init__(self, name, balance=0): #<--atur nilai default untuk balanceself.name = name self.balance = balance print("Metode __init__ dipanggil")cust = Customer("Lara de Silva") # <-- tidak perlu menyebutkan balance secara eksplisitprint(cust.name) print(cust.balance) # <-- atribut tetap dibuat
Metode __init__ dipanggil
Lara de Silva
0
class MyClass:
def my_method1(self, attr1):
self.attr1 = attr1
...
def my_method2(self, attr2):
self.attr2 = attr2
...
obj = MyClass()
obj.my_method1(val1) # <-- attr1 dibuat
obj.my_method2(val2) # <-- attr2 dibuat
class MyClass: def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 ...# Semua atribut dibuat obj = MyClass(val1, val2)
__init__()__init__()CamelCase untuk kelas, lower_snake_case untuk fungsi dan atribut
__init__()CamelCase untuk kelas, lower_snake_case untuk fungsi dan atribut
self sebagai selfclass MyClass:
# Ini berfungsi tetapi tidak direkomendasikan
def my_method(kitty, attr):
kitty.attr = attr
__init__()CamelCase untuk kelas, lower_snake_case untuk fungsi dan atribut
self adalah selfclass MyClass:
"""Kelas ini tidak melakukan apa-apa"""
pass
Pemrograman Berorientasi Objek di Python