天天看點

Python學習-11.Python中的類定義

Python是一門面向對象語言,那麼作為面向對象的特征——類也是有的。值得注意的是Python中一切皆對象,并不像C#中為了性能考慮,int這些在Python中也是對象。(C#中int是結構體)

如何定義一個類:

1 class Person:
2     pass      

使用class關鍵字,上面定義了一個Person類。但是現在這個類是空白的。

接下來定義一個構造函數

1 class Person:
2     def __init__(self,name,age):
3         self.name=name
4         self.age=age      

函數__init__是Python中類的構造函數的名稱,任何Python的類的構造函數的名稱都必須是這樣。

在__init__構造函數中,第一個參數self指代該執行個體。這一點很好了解,因為構造函數也是一個執行個體函數。在Python中,定義執行個體函數需要在函數的第一個參數中填入self這個參數。

接下來定義一個執行個體函數和靜态函數。

1 class Person:
 2     def __init__(self,name,age):
 3         self.name=name
 4         self.age=age
 5 
 6     def printName(self):
 7         print(self.name)
 8 
 9     def staticPrint():
10         print('this class\'s name is Person')      

接下來就是建立一個類的執行個體并調用了。

1 instance=Person('Tom',18)
2 instance.printName()
3 Person.staticPrint()      

其中第一行調用Person的構造函數并将執行個體指派給instance變量。值得注意的是Python中并沒有new關鍵字。

第二行則調用了printName的執行個體方法。輸出Tom。

第三行則調用了Person類的staticPrint靜态方法,輸出this class's name is Person。