1. 程式人生 > >少說話多寫程式碼之Python學習041——類03(類名稱空間 ).txt

少說話多寫程式碼之Python學習041——類03(類名稱空間 ).txt

先看兩個函式,實現一個數的平方。

def squarter(x):
    return  x*x

squarter2 = lambda  x: x*x

print(squarter(9))
print(squarter2(8))

輸出

81
64

呼叫時,squarter和squarter2可以在全域性函式模組定義,也可以在區域性函式中定義。這樣定義的其實都可稱作程式碼塊。而我們定義的類,其實是一個特殊的程式碼塊,程式碼塊中的變數,方法 只能被這個類的例項所訪問。比如下面我們定義的類,如果需要訪問元素只能通過例項訪問,且不同的例項都可以訪問類裡的元素。

class memberCollectCount:
    count=0
    def init(self):
        memberCollectCount.count +=1

m1=memberCollectCount()
m1.init()
print(m1.count)

m2=memberCollectCount()
m2.init()
print(m2.count)

輸出

1
2

這裡是一個執行計數的一個類,每執行init一次,都計數。

再定義個類,

class memberCollectCount2:
    count=0
    def init(self):
        memberCollectCount2.count +=1

都有count和init但是它們屬於不同的類,其實也是屬於不同的名稱空間。 因為Python是解釋執行的,只有在執行的時候才會有名稱空間產生。