天天看點

Python學習筆記6_class

類的定義在筆記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