python3 中 for in 的原理 ,以及range()函数的使用和生成器函数的使用

for in 的原理

原理很简单,for x in s 中,执行

it = iter(s)
while True:
	try:
		next(it)
	except StopIteration:
		break

首先获取s的迭代器,不断迭代

range()函数

range()函数经常像这样用:

for x in range(3)

range()函数返回一个range类实例,通过该实例可获取迭代器进行迭代

生成器函数的使用

生成器本质上只是一个函数变量

# 验证生成器是先生成还是用的过程中生成
g_nTemp = 0
def get_generator():
    yield g_nTemp
    yield g_nTemp


list_ge = get_generator()
for x in list_ge:
    print(x)
    g_nTemp += 1

生成气也经常这样用:

for x in get_generator():

get_generator()获得一个generator类的实例,通过该实例可以获得一个迭代器,因此可以用在for in 语句中。

你可能感兴趣的:(python)