自己定义遍历规则:迭代器协议

自己定义遍历规则:迭代器协议

作用说明 迭代器协议可以让一个对象按照你设定的顺序被依次取出内容。 class Count: def __init__(self, n): self.n = n

阅读更多 →
把多个生成过程接起来:yield from

把多个生成过程接起来:yield from

作用说明 yield from 可以把一段数据生成过程直接交给另一个可迭代对象。 def gen(): yield from [1, 2] yield from [3, 4] pri

阅读更多 →
按需产出数据:生成器

按需产出数据:生成器

作用说明 生成器适合按需要一项一项地产生数据,而不是一下子全部准备好。 def squares(): for i in range(1, 4): yield i * i pr

阅读更多 →
记住外层数据:闭包

记住外层数据:闭包

作用说明 闭包可以让函数记住它被创建时外层作用域中的数据。 def make_adder(x): def adder(y): return x + y return a

阅读更多 →
给函数加一层包装:装饰器

给函数加一层包装:装饰器

作用说明 装饰器可以在不改原函数主体的情况下,给函数额外加一层功能。 def deco(fn): def wrapper(): return fn() + "!&qu

阅读更多 →
判断对象身份:isinstance()

判断对象身份:isinstance()

作用说明 isinstance() 用来判断一个对象是不是某个类创建出来的。 class Book: pass x = Book() print(isinstance(x, Book))

阅读更多 →
接着用父类功能:super()

接着用父类功能:super()

作用说明 super() 可以让子类在自己的方法里继续调用父类已经写好的功能。 class A: def show(self): return "Hello"

阅读更多 →
换一种表现:方法重写

换一种表现:方法重写

作用说明 子类如果想表现得不一样,可以重写父类原来的方法。 class Animal: def speak(self): return "..." cla

阅读更多 →
继承已有能力:子类复用父类

继承已有能力:子类复用父类

作用说明 继承可以让新类直接复用旧类已经写好的能力。 class Animal: def move(self): return "run" class D

阅读更多 →
修改对象数据:方法更新属性

修改对象数据:方法更新属性

作用说明 对象的方法不仅会读取数据,也可以修改对象自己的数据。 class Counter: def __init__(self): self.num = 5 def

阅读更多 →