fl军哥

导航

 

今天自己写了 一个简单代码帮助自己理解python编程中的一些类的关系以及一些函数属性, 总结如下:

1,在python当中一切皆对象,每产生一个对象会对应三个属性:id、类型type和数值
2,创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性:而类中有两种属性:数据属性和函数属性,其中类的数据属性是共享给所有对象的,而类的函数属性是绑定到所有对象的。 3,在类的内部来说,__init__是类的函数属性,但是对于对象来说,就是绑定方法。
4,命名空间的问题:先从对象的命名空间找,随后在从类的命名空间找,随后在从父类的命名
空间找。
5,所谓初始化构造函数就是在构造对象的同时被对象自动调用,完成对事物的初始化,一个类只要生成一个类对象,它一定会调用初始化构造函数.
特点:
1>一个类中只能有一个初始化构造函数
2>不能有返回值
3>可以用它来为每个实例定制自己的特征
6,方法重写指在子类中重新定义父类中已有的方法,这中现象叫做方法的重写
举例

#!/usr/bin/python
# -*- coding:utf-8 -*-

class People:
    def __init__(self,name,age):
        self.name = name
        self.age = age
        self.tell()

    def tell(self):
        print("%s---%s"%(self.name,self.age))

class Student(People):
    def tell(self):
        print("呵呵!")

if __name__ == '__main__':
    student = Student("alex",20)
    #查看Student所有的父类
    print(Student.__bases__)
    #查看最近的父类
    print(Student.__base__)
    #student既是Student类,又是People类
    print(isinstance(student,Student))
    print(isinstance(student,People))

 

运行结果

在此例中,子类Student和父类People都定义了Tell方法,子类没有定义构造函数,此时调用的是父类的构造函数,但注意父类构造函数在调用tell()方法时,调用的是子类的tell()函数,因为两个函数重名,相当于重写了父类的函数,此时要调用子类重写后的函数。

posted on 2020-02-04 22:55  信1705-2张小军  阅读(98)  评论(0编辑  收藏  举报