イテレータ
ループのためのイテレータの原則の適用で、イテレート可能オブジェクトイテレータは必ずしも低くはありませんが、イテレータはイテレート可能オブジェクトでなければなりません
反復可能オブジェクト
__iter__
反復可能である方法
基本データ型、およびデジタルBoolean型に加えて、イテレート可能オブジェクトです
__iter__
反復法は、イテレータオブジェクトになることができます
イテレータ
両方を持っている__iter__
と__next__
イテレータの方法
唯一のファイルオブジェクトは、イテレータです
イテレータの特徴:
- ビルトイン
__next__
メソッドが実行されるメソッドは、値のイテレータオブジェクトを取得します - ビルトイン
__iter__
方式の実装は、反復子自体を取得します - イテレータオブジェクトファイルそのもの。
短所:
- トラブルの値は、1取る、とだけ後で取られ、なくなって値を取ることができます
- あなたは長さを取得するためにLEN()メソッドを使用することはできません
式のトリプレット
条件が満たされた場合、他の条件は条件が満たされない場合場合は戻り値
x = 10
y = 20
# 正常操作
if x > y:
print(x)
else:
print(y)
# 只能用于单分支结构
print(x) if x > y else print(y)
リスト内包
lt = []
# 正常操作
for i in range(10):
lt.append(i**2)
print(lt)
# 简化版的 列表推导式
lt = [i ** 2 for i in range(10)]
式の辞書
print({i: i**2 for i in range(10)})
ZIP()メソッド
辞書機能を解凍によって生成されます
ジェネレータ
発電機、本質的イテレータは、発電機は、カスタムイテレータです
ビルダー:yieldキーワードを含む関数は、発電機と呼ばれています
def ge():
yield 3 #一个yield相当于一个next;可以暂停函数
yield 4
再帰
ダイレクトコール自体の関数の内部機能
各再帰的ではなく、関数の最後、および各再帰的なメモリ空間が開くが、それが開かれている場合、そのほとんどの再帰千揚げます
本物の再帰は、終了条件を持っている必要があります
#递归
def a():
global count
count += 1
print(count)
if count == 5:
return
a()
a()