当前位置:   article > 正文

【醍醐灌顶】Python高级语法_python高阶语法包括哪些

python高阶语法包括哪些

1 None so far

2 None so far

03-闭包.py

# 1. 定义外部函数
def outer(num):
    # 2. 定长内部函数, 在内部函数中使用外部函数的变量
    def inner(num1):
        print(num + num1)
    # 3. 外部函数返回内部函数的地址
    return inner   # 函数名字就是函数的地址


if __name__ == '__main__':
    # 创建闭包实例
    func = outer(100)  # 此时 func相当于是 inner, 保存的 num值为 100
    #  调用闭包
    func(10)

    f2 = outer(1000)  # 创建一个闭包实例, 保存的 num 值是 1000
    f2(10)
    func(10)



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

04-闭包的使用.py

# 定义外部函数, 参数是人名
def config_name(name):
    # 定义内部函数,参数是 说话的信息
    def inner(info):
        # 内部函数中,将 name 和 info 进行拼接输出
        print(f"{name}: {info}")

    # 外部函数,要返回内部函数的地址
    return inner


# 创建闭包实例
tom = config_name('Tom')
jerry = config_name("Jerry")
tom('hello')
jerry('hi')
tom('how are you')
jerry('fine')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

05-闭包内部函数修改外部函数的局部变量.py

def outer():
    num = 10

    def inner():
        # num = 100  # 不是修改外部变量的值,重新定义的局部变量
        nonlocal num  # 声明使用外部变量 num, 不重新定义
        num = 100

    print(f'调用 inner 之前:{num}')
    inner()
    print(f'调用 inner 之后:{num}')
    return inner


if __name__ == '__main__':
    func 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/785027
推荐阅读
相关标签
  

闽ICP备14008679号