Python面向對象—類屬性和實例屬性
阿新 • • 發佈:2018-08-05
%d 元素 self 分享圖片 def elf 類方法 技術分享 __init__
屬性:就是屬於一個對象的數據或函數元素
類有類方法、實例方法、靜態方法、類數據屬性(類變量)和實例數據屬性(實例變量)。
類屬性:包括類方法和類變量,可以通過類或實例來訪問,只能通過類來修改。
實例屬性:包括實例方法和實例變量
class MyClass(object): name = ‘Anl‘ def __init__(self, age): self.age = age @classmethod def class_method(cls): print "I‘m class method" def example_method(self): self.age= 20 print "I‘m a method, and age is %d", self.age @staticmethod def static_method(): print "I‘m static method"
使用類來訪問類變量
MyClass.name #結果為 ‘Anl‘
使用類來修改類變量
MyClass.name = ‘Delav‘ pritn MyClass.name #結果為‘Delav‘
實用類來訪問類方法
MyClass.class_method() #結果為 I‘m class method
使用類來訪問靜態方法
MyClass.static_method() #結果為 I‘m static method
修改實例變量
ob = MyClass(20) #實例化 print ob.age #結果為20 ob.age = 23 #修改實例屬性 print ob.age #結果為23
使用實例來訪問類變量
print ob.name #結果為 ‘Delav‘
使用實例來訪問實例方法
ob.example_method(25) #結果為 I‘m example method , and age is 25
使用實例來訪問類方法
ob.class_method() #結果為 I‘m class method
使用實例來訪問靜態方法
ob.static_method() #結果為 I‘m static method
修改實例屬性,類變量不變,實例變量改變
ob.name = ‘Bon‘ print MyClass.name #結果為 Delav print ob.name #結果為 Bon
總的結果
Python面向對象—類屬性和實例屬性