1. 程式人生 > >python面向對象——類屬性和實例屬性

python面向對象——類屬性和實例屬性

python

#coding:utf-8 #描述橘子對象的類 class Orange: def __init__(self, weight): self.weight = weight #實例屬性 def get_weight(self): print(self.weight) class HostInfo: info = [] #類屬性 def add_host(self, hostname, ip): self.info.append({"hostname":hostname, "ip":ip}) def get_info(self): print(self.info) if __name__ == "__main__": o1 = Orange(1.5) #橘子1 重量1.5 o2 = Orange(2.3) #橘子2 重量2.3 o1.get_weight() #獲取重量 o2.get_weight() #橘子1的重量是1.5,橘子2的重量是2.3,這個所謂的重量(數據)被稱為屬性,屬性通常是可變的, #橘子類的每一個實例都會有重量這個屬性,但是每個實例的屬性給定的數據會不相同,也可能相同 h1 = HostInfo() #對象h1增加數據 h1.add_host("pc","192.168.1.2") h2 = HostInfo() #對象h2增加兩條數據 h2.add_host("pc","192.168.1.2") h2.add_host("pc","192.168.1.2") h1.get_info() #不管是誰添加,大家都能獲取到主機信息, h2.get_info() #結論:類屬性共享於所有實例,實例屬性只屬於實例本身


python面向對象——類屬性和實例屬性