# -*- coding: UTF-8 -*- # 作用域关系是在函数定义阶段就已经固定的,与函数的调用位置无关 x = 1 def f2(): print(x) x = 100 def f3(func): x = 2 func() # 在前面已经调用了 x = 1000 print(x) # 优先使用局部变量 x = 2 x = 1000 f3(f2) li = [lambda : i for i in range(10)] # i 是全局变量,附值最好一个 9 ,所以所有函数中 i = 9 # li 中的元素是什么类型的对象 """ 函数 """ print(li) # li[0] 是什么,能否被调用 """ 是一个函数,可以被调用 """ # print(type(li)) respond = li[0]() print(respond) print(li[8]()) # 输出还是9