练习24(函数的嵌套)

本文探讨了Python编程中的函数嵌套概念,通过实例详细解释了如何定义和使用内部函数,阐述了其在代码组织和逻辑隔离上的优势,同时讨论了作用域规则及其对变量的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习24

# def func1():
#     print(111)
# def func2():
#     print(222)
#     func1()
#     print(333)
# print(666)
# func2()
# print(555)

# 666 222 111 333 555

# def func1():
#     print(222)
#     def func2():
#         print(333)
#     print(111)
#     func2()
#     print(666)
# func1()

# 222 111 333 666

# global nonlocal
# 局部名称空间 对全局名称空间的变量可以引用,但是不能改变.
# count = 1
# def func1():
#     count = 2
#     print(count)
# func1()

# count = 1
# def func1():
#     # count = 3
#     count = count + 1 # UnboundLocalError: local variable 'count' referenced before assignment
#     print(count)
# func1()
# 如果你在局部名称空间 对一个变量进行修改,那么解释器会认为你的这个变量在局部中已经定义了,
# 但是对于上面的例题,局部中并没有定义.所以它会报错.
# global
    # 1. 在局部名称空间声明一个全部变量.
# def func2():
#     global name
#     name = 'alex'
# func2()
# print(name)
    # 2. 在局部名称空间可以对全局变量进行修改
# count = 1
# def func1():
#     global count
#     count = count + 1
#     print(count)
# func1()
# print(count)

# nonlocal
# 子函数对父函数的变量进行修改.
# 此变量不能是全局变量

# def func1():
#     count = 666
#     def inner():
#         print(count)
#         def func2():
#             nonlocal count
#             count += 1
#             print('func2',count)
#         func2()
#         print('inner',count)
#     inner()
#     print('func1',count)
# func1()

# 666 func2 667 inner 667 func1 667
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值