Python_类的属性

发布时间:2019-09-03 08:56:04编辑:auto阅读(1462)

    1.类属性分类
    类的属性分为:
    数据属性:就是类中的变量;
    函数属性:就是类中函数,在面向对象设计中通常称为方法;
    类和对象的属性均使用点(.)来访问自己的属性
    2.类的属性
    类的定义与函数极其相似,我们可以使用函数的作用域来理解类的属性调用方式。
    我们可以通过类的属性字典来查询类的属性,如下图所示:
    Python_类的属性
    代码块为:

    class Door():
        "门的类"
        address = "浙江省杭州市"
        def __init__(self,size,color,type):
            "初始化门的数据"
            self.size = size
            self.color = color
            self.type = type
        def open(self):
            "门打开的方法"
            print("这个%s门打开了" %self.type)
        def off(self):
            "门关闭的方法"
            print("这个%s门关闭了" %self.type)
    
    print(Door.__dict__)

    所以获取类的属性有两种方法:
    ① 使用英文点(.)来调用属性,如下图所示:
    Python_类的属性
    代码块如下:

    class Door():
        "门的类"
        address = "浙江省杭州市"
        def __init__(self,size,color,type):
            "初始化门的数据"
            self.size = size
            self.color = color
            self.type = type
        def open(self):
            "门打开的方法"
            # print("这个%s门打开了" %self.type)
            print("这个门打开了")
        def off(self):
            "门关闭的方法"
            print("这个%s门关闭了" %self.type)
    
    #类的数据属性
    print("门的出产地为:", Door.address)
    #类的函数属性
    Door.open('self')   #实参任意填

    ② 使用类的属性字典来调用属性,如下图所示:
    Python_类的属性
    代码块如下:

    class Door():
        "门的类"
        address = "浙江省杭州市"
        def __init__(self,size,color,type):
            "初始化门的数据"
            self.size = size
            self.color = color
            self.type = type
        def open(self):
            "门打开的方法"
            # print("这个%s门打开了" %self.type)
            print("这个门打开了")
        def off(self):
            "门关闭的方法"
            # print("这个%s门关闭了" %self.type)
            print("这个门关闭了" )
    
    #类的数据属性,方法一
    # print("门的出产地为:", Door.address)
    #类的函数属性
    # Door.open('self')   #实参任意填
    #类的数据属性,方法二
    addr = Door.__dict__['address']
    print("门的出产地为:", addr)
    Door.__dict__['open']('铝合金')
    Door.__dict__['off']('铝合金')

    ③ 总结
    方法一实际上是调用方法二,即直接用点来调用类的属性时是先调用类的属相字典,在取出对应的结果。
    3.类的其他特殊属性
    Python_类的属性
    代码块如下:

    class Door():
        "门的类"
        address = "浙江省杭州市"
        def __init__(self,size,color,type):
            "初始化门的数据"
            self.size = size
            self.color = color
            self.type = type
        def open(self):
            "门打开的方法"
            # print("这个%s门打开了" %self.type)
            print("这个门打开了")
        def off(self):
            "门关闭的方法"
            # print("这个%s门关闭了" %self.type)
            print("这个门关闭了" )
    
    print(Door.__name__)    #类的名字
    print(Door.__doc__)     #类的文档
    print(Door.__base__)   #类继承的第一个父类
    print(Door.__bases__)   #类继承的父类组成的元组
    print(Door.__dict__)   #类的属性字典
    print(Door.__module__)   #类定义所在的模块

关键字