Python 类

类定义语法

最简单的类定义看起来像这样:

class ClassName:
    <statement1>
    .
    .
    .
    <statementN>

 

类对象

类对象支持两种操作:属性引用和实例化。

可以用实例对象做什么?实例对象理解的唯一操作是属性引用。有两种有效的属性名称,数据属性和方法。

 

一般来说,实例变量用于每个实例的唯一数据,而类变量用于类的所有实例共享的属性和方法:

 

class Dog: tricks = []             # mistaken use of a class variable

    def __init__(self, name):
        self.name = name

    def add_trick(self, trick):
        self.tricks.append(trick)

>>> d = Dog(‘Fido’)
>>> e = Dog(‘Buddy’)
>>> d.add_trick(‘roll over’)
>>> e.add_trick(‘play dead’)
>>> d.tricks                # unexpectedly shared by all dogs
[‘roll over’, ‘play dead’]

class Dog: def __init__(self, name): self.name = name
        self.tricks = []    # creates a new empty list for each dog

    def add_trick(self, trick):
        self.tricks.append(trick)

>>> d = Dog(‘Fido’)
>>> e = Dog(‘Buddy’)
>>> d.add_trick(‘roll over’)
>>> e.add_trick(‘play dead’)
>>> d.tricks
[‘roll over’]
>>> e.tricks
[‘play dead’]

继承~~~~

…..~~~~~

多重继承

私有变量

大多数 Python 代码都遵循这样一个约定:带有一个下划线的名称 应该被当作是 API 的非仅供部分 (无论它是函数、方法或是数据成员)。

迭代器

在幕后,for 语句会调用容器对象中的 iter()。 该函数返回一个定义了 __next__() 方法的迭代器对象,该方法将逐一访问容器中的元素。 当元素用尽时,__next__() 将引发 StopIteration 异常来通知终止 for 循环。 可以使用 next() 内置函数来调用 __next__() 方法;

 

发表评论