守望的麦子

类属性和实例属性

2018-6-14    大连    /python/2018/06/14/ci.html python python,

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

Python 编程简明教程 https://wheat.at/python/

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

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

1 >>> class Band(object):
2         def __init__(self, name):
3             self.name = name
4 
5 		
6 >>> bill = Band('Bill Brown')
7 >>> bill.name
8 'Bill Brown'
9 >>> 

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

1 >>> bill.age = 30
2 >>> bill.name
3 'Bill Brown'
4 >>> bill.age
5 30
6 >>> 

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

1 >>> class Band(object):
2         age = 4
3         def __init__(self, name):
4             self.name = name
5 
6 		
7 >>> Band.age
8 4
9 >>>

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

1 >>> louis = Band('Louis K')
2 >>> louis.name
3 'Louis K'
4 >>> louis.age
5 4
6 >>> 

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

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

1 >>> louis.age = 15
2 >>> louis.age
3 15
4 >>>

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

1 >>> del louis.age

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

1 >>> louis.age
2 4
3 >>>

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

  1. 动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的 ECMAScript(JavaScript)便是一个动态语言,除此之外如 PHP、Ruby、Python 等也都属于动态语言,而 C、C++ 等语言则不属于动态语言。——来自维基百科 

关于作者
麦子,80 后,现从事通信行业。安卓玩家一个人的书房朗读者。
MRJENGLISH
jsntn
jasonwtien
jasonwtien
更多…… /about.html

最近更新: