Python 是一门面向对象的语言,所以创建一个类和对象时很容易的
1.创建类
2.python的类同样满足面对对象的3个特征
1)封装:将内容封装到某处,从某处调用被封装的内容
调用被封装的内容,可以直接通过对象条用或者通过self间接调用
间接调用,执行类的方法时,通过self调用类中的自身方法
class Foo:
def __init__(self, name, age):
self.name = name
self.age = age
def detail(self):
print(self.name)
print(self.age)
obj1 = Foo('chengd', 18)
obj1.detail() # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 chengd ;self.age 是 18
obj2 = Foo('python', 99)
obj2.detail() # Python默认会将obj2传给self参数,即:obj1.detail(obj2),所以,此时方法内部的 self = obj2,即:self.name 是 python ; self.age 是 99x
2)继承:子类继承父类的内容,不过不同于java和c#智能继承一个类,python中可以继承多个类,如果继承了多个类,其寻找方法有两种:深度优先和广度优先,当类时经典类(class C1)时,会按照深度有限方式查找,当时新式类(class N1(object),创建类的时候继承object)时,按照广度优先查找
经典类:首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去D类中找,如果D类中么有,则继续去C类中找,如果还是未找到,则报错
新式类:首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去C类中找,如果C类中么有,则继续去D类中找,如果还是未找到,则报错
注意:在上述查找过程中,一旦找到,则寻找过程立即中断,便不会再继续找了
3)多态:python不同java和c#这一类强类型语言中的多肽写法,但是原生多态,崇尚鸭子类型
转自
转载地址:http://www.cnblogs.com/wupeiqi/p/4493506.html