python基礎語法難點突破
1.物件導向類的基本使用
知識點:
- 屬性:類屬性、範例物件屬性
- 方法:實體方法、類方法、靜態方法
- 類可以呼叫哪些內容:類屬性、類方法、靜態方法
程式碼範例:
class A(object):
class_a = 20
def __init__(self):
self.a = 10
def a_print(self):
print("a_print")
@classmethod
def class_print(cls):
print('class_print')
@staticmethod
def static_print():
print("static_print")
print(A.class_a)
print(A().a)
A.class_print()
A.static_print()
A.a_print(A())
A().a_print()
2.物件導向類的呼叫和屬性
知識點:
- 在一個類中想要呼叫另一個類的方法和屬性的方法:繼承、屬性賦值的形式
程式碼範例:
class A(object):
class_a = 20
def __init__(self):
self.a = 10
def a_print(self):
print("a_print")
@classmethod
def class_print(cls):
print('class_print')
@staticmethod
def static_print():
print("static_print")
class B(A):
def b_print(self):
print("b_print")
B().b_print()
B().a_print()
class C(object):
obj_a = A()
def c_print(self):
print('c_print')
C.obj_a.a_print()
3.物件導向super和@property的使用
知識點:
- super作用:super() 函數是用於呼叫父類別(超類)的一個方法。
- super使用場景:重寫父類別方法,在父類別方法的基礎上,新增一些業務邏輯
- 使用@property裝飾器可以直接通過方法名來存取方法,不需要再在後面使用"()"
程式碼範例:
class A(object):
def a_print(self):
print("a_print")
class B(A):
def a_print(self):
super().a_print()
print("add_data")
@property
def data(self):
print("data")
B().a_print()
B().data