类属性和实例属性

 2018-06-14    大连    阴 /python/2018/06/14/ci.html python python

Python 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。
Python 编程简明教程 https://jsntn.com/python

Python 是一种动态语言1,根据类创建实例,所创建的实例可以任意绑定属性。

为实例绑定属性的方法是通过实例变量,或者通过 self 变量:

>>> class Band(object):
        def __init__(self, name):
            self.name = name

        
>>> bill = Band('Bill Brown')
>>> bill.name
'Bill Brown'
>>> 

在上面的例子中我们创建了一个实例 bill,接续上面的代码,我们可以为 bill 实例绑定一个属性 age

>>> bill.age = 30
>>> bill.name
'Bill Brown'
>>> bill.age
30
>>> 

同样我们也可以为 Band 类绑定属性。直接在 class 中定义属性,这种属性是类属性,归 Band 类所有:

>>> class Band(object):
        age = 4
        def __init__(self, name):
            self.name = name

        
>>> Band.age
4
>>>

类的属性可以被所有的实例访问,例如我们新创建一个实例 louis:

>>> louis = Band('Louis K')
>>> louis.name
'Louis K'
>>> louis.age
4
>>> 

在这里我们并没有为 louis 实例定义 age 实例属性,louis.age 有返回值是因为 louis 实例可以访问其类属性。

我们可以继续为 louis.age 实例属性赋值:

>>> louis.age = 15
>>> louis.age
15
>>>

紧接着,如果删除实例属性 louis.age

>>> del louis.age

再次查看 louis.age 的返回值:

>>> louis.age
4
>>>

由于实例的 age 属性没有找到,所以返回类的 age 属性值。


  1. 动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的 ECMAScript(JavaScript)便是一个动态语言,除此之外如 PHP、Ruby、Python 等也都属于动态语言,而 C、C++ 等语言则不属于动态语言。——来自维基百科 [return]
关于作者
麦子,80 后,现从事通信行业。安卓玩家一个人的书房朗读者。
 英语入门到放弃
 jsntn
 jasonwtien
 jasonwtien
更多…… /about.html

最近更新: