23 函数为作用域练习

# 第一题
for item in range(10):  #不报错,没有函数,所有操作在全局作用域里面执行,item最后赋值为:9,此时item在缩进与全局都可以使用
    pass
print(item)

# 第二题
item = 10
def func():
    for item in range(10): #优先在本地查找,找不到在到全局查找
        pass 
    print(item) #item为9 
func()

# 第三题
item = 10
def func():
    item = 2
    def inner():
        print(item)
    for item in range(10): #for 循环将item赋值为:9
        pass 
    inner() #函数会先从上级进行查找,此时item为:9
func()

# 第四题【新浪微博】
def func():
    for num in range(10): #循环后num为:9 
        pass
    v4 = [lambda :num+10,lambda :num+100,lambda :num+100,] #自己没有Num ,会到父级里面云查找
    result1 = v4[1]()
    result2 = v4[2]()
    print(result1,result2)
func()

# 第五题【新浪微博】
def func():
    for num in range(10):
        pass
    v4 = [lambda :num+10,lambda :num+100,lambda :num+100,] #函数未调用,内部代码永久都不会执行
    result1 = v4[1]()  #109
    num = 73
    result2 = v4[2]()
    print(result1,result2) #173
func()

posted @   jhchena  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示