1. 程式人生 > >python—類的屬性和方法總結

python—類的屬性和方法總結

python

一、類的屬性總結(類的屬性定義在方法外,對象的屬性定義在方法內)

理解:

類的(靜態)屬性:(人類的五官,理解為變量)

類的(動態)方法:(人類吃穿住行,理解為一個函數,至少帶一個參數self,指向類本身)

對象:類的實例化,之後才能有屬性和方法


1)類的屬性,也是公有屬性;類的私有屬性

2)對象的公有屬性;對象的私有屬性

3)函數局部變量;全局變量

4)內置屬性

#!/usr/bin/env python
#encoding:utf-8

var6 = "全局變量var6"
class Myclass(object):
    var1 = "類的公有屬性var1"
    __var2 = "類的私有屬性_var2"
    
    def fun1(self):
        self.var3 = "方法的公有屬性var3"
        self.__var4 = "方法的私有屬性_var4"
        var5 = "函數的局部變量var5"
        print var5
        print var6
        
    def fun2(self):
        print self.var1
        print self.__var2
        
    def fun3(self):
        print self.var3
        print self.__var4
        
mc = Myclass()
print mc.var1  # 外部調用類的公有屬性
print mc._Myclass__var2  # 外部調用類的私有屬性,一般測試用

print Myclass.var1    # 通過類名調用類的公有屬性
#print Myclass.__var2 # 不能通過類名調用類的私有屬性
#print Myclass.var3   # 不能通過類名調用內部函數的公有屬性和私有屬性
#print Myclass.__var4

mc.fun1()
print mc.var3  # 外部調用方法(可以看成是帶self的內部函數)的公有屬性,前提是先實例化類並執行該方法
#print mc.__var4  # 外部不能調用方法的私有屬性

mc = Myclass()
mc.fun2()  # 內部調用類的公有、私有屬性

mc = Myclass()
mc.fun1()

mc.fun3()  # 內部函數可調用其他內部函數的公有、私有屬性,前提是先實例化類並執行該方法

mc = Myclass()
print Myclass.__dict__  # 內置屬性調用



python—類的屬性和方法總結