Python中作用域
- python中无块级作用域,python中以
函数为作用域
if 1 == 1:
name = 'alex'
print(name)
- python代码还没执行的时候,作用域就已经形成了
name = 'alex'
def f1():
print(name)
def f2():
name = 'eric'
f1()
f2()
输出结果: alex
请思考:
1.为什么if 判断里面定义的不一定为执行的变量会有值,
2.为什么执行f2函数输出的是alex
而不是eric
烧脑的新浪面试题
# return x
li = [lambda: x for x in range(10)]
# li列表
# li列表中的元素[函数,函数,函数,函数...]
# 函数在没有执行前,内部代码不执行
# ? li[0] ,函数
# ? 函数()
# 返回值是???
r = li[0]()
print(r)
输出结果: 9