python面向对象——类属性和实例属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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面向对象——类属性和实例属性的主要内容,如果未能解决你的问题,请参考以下文章
Python实用笔记 (22)面向对象编程——实例属性和类属性