美文网首页
26-python中创建类属性

26-python中创建类属性

作者: mingminy | 来源:发表于2017-12-22 09:43 被阅读0次

类是模板,而实例则是根据类创建的对象。

绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。

定义类属性可以直接在class中定义:

class Person(object):address = 'Earth'def __init__(self, name):        self.name = name

因为类属性是直接绑定在类上的,所以,访问类属性不需要创建实例,就可以直接访问:

print Person.address# => Earth

对一个实例调用类的属性也是可以访问的,所有实例都可以访问到它所属的类的属性:

p1 = Person('Bob')p2 = Person('Alice')print p1.address# => Earthprint p2.address# => Earth

由于Python是动态语言,类属性也是可以动态添加和修改的:

Person.address = 'China'print p1.address# => 'China'print p2.address# => 'China'

因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了。

相关文章

  • 26-python中创建类属性

    类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类...

  • 创建类、属性

  • 内部类

    定义类的成员之一(属性,方法,构造器,代码块) 成员内部类(类中创建的类) 局部内部类(方法中创建的类) 成员内部...

  • 2020-10-11 Python: 类

    Define Class 根据类来创建对象 1. 调用类中的方法 2. 调用类的属性:通用属性 3. 修改属性的值...

  • 16、面向对象编程(二)

    16.1 python中创建类属性 类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例...

  • 复习 KVO - 2 - 自定义 KVO 实现

    大体思路: 创建一个 A类,这个类中有一个属性 如 age 创建一个 NSObject + KVO 类,这个类中实...

  • Python 9-4——使用类并创建实例

    今天的内容是创建一个描述汽车的类,并且根据类中属性创建自己的实例。 定义一个包含描述汽车普遍属性的...

  • 02 深入理解function&构造函数

    function&构造函数 演示代码 通过构造函数 创建类(object)属性 构造函数创建的属性属于新类的属性,...

  • Python类与面向对象

    类的创建和调用 类表示包含某些共同特点的一系列对象,Python 中的类需要我们自行创建。类的属性的创建和变量的定...

  • Android自定义View

    xml创建自定义View 一、创建View的属性 在values中创建attrs.xml 二、创建View类 三、...

网友评论

      本文标题:26-python中创建类属性

      本文链接:https://www.haomeiwen.com/subject/hkktgxtx.html