類的定義在筆記1中有叙述,本篇文章來叙述如何操作。
首先定義一個類,然後将它執行個體化,最後通過“對象名”或“對象名.成員”的方式來通路。
1. 基礎操作
class personal_data:
def __init__(self,n,a):
self.name=n
self.age=a
def show(self):
print (self.name,self.age)
x=personal_data("Meliodas","19")
x.show()
運作結果:
Meliodas 19
第二行,self函數的參數清單中 第一個參數必須為self,代表對象本身。其餘參數的意義在下邊定義。
回車後,左邊是self.成員名,右邊是對應的self函數中的參數。
引用時,對于上述執行個體屬性,就用類名.執行個體名的方式引用。
PS:一般是在__init__()中定義執行個體屬性。
2. 特殊類名
(1). _xxx:保護成員,不能通過 from module import * 導入,隻有類對象和子類對象能通路。
(2). __xxx__:系統定義的特殊成員
(3). __xxx:類的私有成員,隻有類對象自己才能通路,子對象不能通路,但外部可以通過“對象名._類名__xxx”通路。
class infor():
def __init__(self,a,b):
self.account=a
self.__password=b
x=infor("100900","123456")
print x.account
print x.__password
運作結果:
100900
AttributeError: infor instance has no attribute '__password'
将最後一行改為:
print x._infor__password
運作結果:
100900
123456