1. 程式人生 > >Python基礎學習:關鍵字class

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

類一旦被成功匯入,便可以使用:模組名.類內方法名

使用匯入類中的方法勒