ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

闭包, 引入局部变量, 全局变量等

2022-06-09 10:00:22  阅读:154  来源: 互联网

标签:闭包 func1 函数 局部变量 --- inner print 全局变量 def


# 1---函数可以作为参数进行传递
# def func():  # 定义函数
#     print("我是函数")
#
#
# def sin(fn):  # 以函数作为参数进行传递
#     fn()
#
#
# sin(func)
#

# 2---函数可以作为返回值进行传递
# def func1():
#     def inner():
#         print("12255")
#
#     return inner
#
#
# func1()

# 3---函数名称可以当成一个变量一样的进行赋值
# def func1():
#     print("我是函数1")
#
#
# def func2():
#     print("我是函数2")
#
#
# func1 = func2
#
# func1()
# 1---在局部引入全局的局部变量[global]
# a = 10
#
#
# def inner():  # 闭包函数
#     global a  # 在局部环境中引用全局环境中的变量
#     a = 20  # 局部函数inner中的局部变量a
#     print(a)
#
#
# inner()
# print(a)


# 2---在局部引入外层的局部变量[nonlocal]
def func():
    b = 9

    def func1():
        nonlocal b  # 向外一层引入局部变量, 如果有就引入, 如果没有就继续向外一层, 直到全局, 但是不包括全局
        print("引入的值", b)
        b = 6
        print(b)

    func1()
    print("变量被改变成新的值", b)  # 变量被改变


func()

 

标签:闭包,func1,函数,局部变量,---,inner,print,全局变量,def
来源: https://www.cnblogs.com/acwecc/p/16358237.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有