码迷,mamicode.com
首页 > 编程语言 > 详细

python面向对象——类属性和实例属性

时间:2017-12-28 13:53:50      阅读:133      评论:0      收藏:0      [点我收藏+]

标签: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

原文地址:http://blog.51cto.com/freshair/2055449

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!