python面向对象
来源:互联网 发布:windows界面开发主流 编辑:程序博客网 时间:2024/06/16 18:22
class People(): address = 'china' def __init__(self,name='chen'): self.__name = name def sayHi(self): return 'hi,'+self.__name#类属性的动态加载#如果类People不包含属性age,并不会报错,而是会动态添加一个属性People.age = 25p1 = People('simon')print p1.age#实例实际上是类的一个拷贝#如果在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。p1.address = 'japan'p2 = People('duoduo')print p2.address #chinaprint People.address #china#类中定义的方法其实上也是一个属性,它实际上是函数对象#p2.sayHi返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p2.sayHi()才是方法调用。print p2.sayHi #<bound method People.sayHi of <__main__.People instance at 0x0000000002780DC8>>print p2.sayHi() #hi,duoduoclass Person(): __count1 = 0 __count2 = 0 @classmethod def how_many1(cls): return cls.__count1 @classmethod def how_many2(cls): return cls.__count2 def how_many3(self): return self.__count1 def __init__(self,name): self.name = name self.__count1 = self.__count1 + 1 #self代表的是实例 Person.__count2 = Person.__count2 + 1 #Person代表的是类,注意书写方式print Person.how_many1()print Person.how_many2()p3 = Person('Bob')print Person.how_many1()print Person.how_many2()#print Person.how_many3() #不能通过类来访问实例方法,必须通过类的实例来访问,如p1.how_many3()print p3.how_many1()print p3.how_many2()print p3.how_many3()print id(p3)p4 = p3p3.name = 'chen'print id(p3)print id(p4)print p4.name #chen
0 0
- python 面向对象
- python面向对象初步
- python面向对象
- Python面向对象详解
- python面向对象编程
- python面向对象
- python 面向对象
- python 面向对象编程
- python面向对象编程
- python面向对象编程
- python 面向对象笔记
- Python 面向对象编程
- Python面向对象编程
- python面向对象1
- Python面向对象详解
- Python 面向对象编程
- python面向对象1
- Python面向对象基础
- vm虚拟机本地连接已连接上 但为什么上不去网
- druid.io sql支持
- Linux2.6.32驱动笔记(3)分析应用程序read访问驱动过程
- 关于阅读那些大神的开源库的一些感想
- UI树
- python面向对象
- Android学习——Frame动画、Shape动画
- 微信支付之认识微信支付开发
- C#方便操作数据总结
- SQL Server中的三种物理连接图文解析:Loop Join,Merge Join,Hash Join
- const在函数前与函数后的区别
- LeetCode Longest Valid Parentheses
- Java 里把 InputStream 转换成 String 的几种方法
- UVa 10074 - Take the Land