面向对象总结
- 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用
- 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中)
- 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数
- 面向对象三大特性:封装、继承和多态
本篇将详细介绍Python 类的成员、成员修饰符、类的特殊成员。
执行基类构造方法
子类有init方法,父类也有init方法和各种属性,,要想让子类也 继承并封装父类的init的属性。
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 __author__ = 'wyf' 4 5 6 class Annimal: 7 def __init__(self): 8 print 'A构造方法' 9 self.ty = '动物' 10 11 class Cat(Annimal): 12 def __init__(self): 13 print 'B构造方法' 14 self.n = '猫' 15 # #执行父类的构造方法1,推荐这种 继承父类的init所有属性 记住self的位置。由super解决 16 super(Cat,self).__init__() 17 # #执行父类的构造方法2 18 #Annimal.__init__(self) 19 a = Cat() 20 print a.__dict__
反射,查找类,查找对象的字符或者变量
#!/usr/bin/env python #-*- coding:utf-8 -*- __author__ = 'wyf' class Foo: def __init__(self,name): self.name = name def show(self): print 'showwwww' obj = Foo('alex') r = hasattr(obj,'name') print 'r=',r c = hasattr(obj,'show') print 'c=',c a = hasattr(Foo,'name') print 'a=',a b = hasattr(Foo,'show') print 'b=',b #反射 #以字符串的形式去对象(模块)中操作其成员 #反射:类,只能找类里的成员 #反射:对象,既可以找对象,找类的成员