Python基礎學習:關鍵字class
關鍵字class是用來定義Python語言中的類。
1.什麼是類?
從抽象的角度來說,類是具有相似特徵和規律的實體的抽象,它可以被繼承。從語言上說,類是python中最重要的組成部分,類由方法(函式)構成。類有助於程式設計師以面向物件的思維進行程式設計設計,它通過繼承簡化了一類事物中共同方法(函式)的重複編碼,使得程式設計大大被簡化。
2.類的具體結構
class Test(object): def __init__(self,para_1,para_2): self.para_1 = para_1 #可在此處為類的屬性賦予固定值 self.para_2 = para_2 def function_1(self): pass #pass為佔位符 def function_2(self): pass
類名的首字母應該大寫,以便於他人理解程式。所有的類都是繼承自object類,object可以不用寫出,實際繼承中應當寫出其直接父本類。此外,__init__()方法(函式)是用來例項化類的方法,所有類都必須包含此方法。引數para_1,para_2等在python語言中稱為類的屬性,可以在類中函式被呼叫時被賦值,也可以在__init__()方法中被賦值。
3.類的例項化和類內函式呼叫
class Test(object): def __init__(self): pass def function_1(self): pass def function_2(self): print('Test') my_test = Test() #類的例項化 my_test.function_2() #類中函式的呼叫
類中的方法(函式)在呼叫前必須先例項化這個類,否則將無法呼叫。
4.類的繼承
類最大的價值就在於其可繼承性。類的構建思路是講一個問題自頂而下的分解,逐步的把共性剝離,從而減低程式設計難度。
例如:需要描述三個類似的事物:小汽車、皮卡、大客車。我們可以輕易看出,這三種事物都屬於車輛,那麼它們共有的方法或屬性就包括:輪子、方向盤、發動機、閃光燈、轉動方向盤車輛就會轉向等一系列共有的東西,這些東西我們就可以用一個類——車輛,來描述,之後他們三個獨有的特性就可以在繼承父類:車輛的基礎上進行描述,這樣整個工作就會顯得十分的簡單明瞭。在這個例子中,車輛就是父類,其餘的小汽車、皮卡、大客車都是互不統屬的子類,但它們共享一個父類。
子類中與父類同名的方法(函式)會將父類中的方法(函式)所覆蓋,這就使得父類不在成為束縛子類的掣肘,而是淡出美好的助力,但前提是你要明白父類為子類到底提供了什麼。
class Test(object):
def __init__(self,para_1,para_2):
self.para_1 = para_1
self.para_2 = para_2
def function_1(self):
pass
def function_2(self):
print('\n Test\n')
class Test_python(Test):
def __init__(self,para_3):
self.para_3 = para_3
def function_2(self):
print(' python_test\n')
my_test = Test(None,None)
my_test.function_2()
my_test_python = Test_python(None) #因為__init__()方法被覆蓋,所以只能傳輸進一個引數,self是預設的,不需要寫出
my_test_python.function_2()
5.類的匯入
如果需要使用的類存在於其它python檔案中時,為了能正確使用這個類,此時就要進行類的匯入操作。類的匯入可以採取將類所在的模組(即所建立的Python檔案)整個匯入,也可以只匯入這個單獨的類。如果只是用這個模組的少數幾個類的話,建議採取後者以提高程式執行速速。
(1)整體匯入
import class_1
(2)單獨匯入
from class_1 import Test
(3)匯入一個模組內的多各類
from class_3 import Test,Test_python
類一旦被成功匯入,便可以使用:模組名.類內方法名
使用匯入類中的方法勒