Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ
George Boorman
Curriculum Manager, DataCamp
self เป็น argument แรกเสมอself.___class MyClass: # function definition in class # first argument is self def my_method1(self, other_args...): # do things heredef my_method2(self, my_attr): # attribute created by assignment self.my_attr = my_attr ...
__init__() ถูกเรียกทุกครั้งที่สร้างออบเจกต์__methodname__class Customer:
def __init__(self, name):
# Create the .name attribute and set it to name parameter
self.name = name
print("The __init__ method was called")
# __init__ is implicitly called
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 created obj.my_method1(val1) # attr2 created obj.my_method2(val2)
class MyClass: def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 ...# All attributes are created obj = MyClass(val1, val2)
class Customer: # Add balance argument def __init__(self, name, balance):self.name = name # Add the balance attribute self.balance = balance print("The __init__ method was called")
# __init__ is called
cust = Customer("Lara de Silva", 1000)
print(cust.name)
print(cust.balance)
The __init__ method was called
Lara de Silva
1000
class Customer:
# Set a default value for balance
def __init__(self, name, balance=0):
self.name = name
# Assign the new attribute
self.balance = balance
print("The __init__ method was called")
# Don't specify the balance explicitly cust = Customer("Lara de Silva")print(cust.name) # The balance attribute is created anyway print(cust.balance)
The __init__ method was called
Lara de Silva
0
__init__()__init__()CamelCase สำหรับคลาส, lower_snake_case สำหรับฟังก์ชันและ attribute
__init__()CamelCase สำหรับคลาส, lower_snake_case สำหรับฟังก์ชันและ attribute
self เป็น self เสมอclass MyClass:
# This works but isn't recommended
def my_method(george, attr):
george.attr = attr
__init__()CamelCase สำหรับคลาส, lower_snake_case สำหรับฟังก์ชันและ attribute
self คือ selfclass MyClass:
"""This class does nothing"""
pass
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ