zoukankan      html  css  js  c++  java
  • 函数作用域

    #作用域
    if True:
    x = 3 #if没有作用域
    print(x)

    def f():
    a = 3 #a这个变量属于函数 出了这个函数就没用了
    f()
    print(a)

     

    #嵌套作用域 1
    x =1
    def s():
    global x #global 关键字可以修改全局变量
    x = x + 3 #局部要修改全局变量需要添加global
    def sf():
    # nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = 5
    def sd():
    nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = x + 7
    print("3:",x)
    sd()
    print("2:",x)
    sf()
    print("1:",x)
    s()

    打印

    3: 12
    2: 12 
    1: 4

    #嵌套作用域 2
    def s():
    x = 3
    def sf():
    nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = 5
    def sd():
    nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = x + 7
    print("3:",x)
    sd()
    print("2:",x)
    sf()
    print("1:",x)
    s()


    打印

    3: 12
    2: 12
    1: 12

    #嵌套作用域 3
    def s():
    x = 3
    def sf():
    # nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = 5
    def sd():
    nonlocal x #nonlocal 关键字可以修改嵌套作用域
    x = x + 7
    print("3:",x)
    sd()
    print("2:",x)
    sf()
    print("1:",x)
    s()


    打印

    3: 12
    2: 12
    1: 3

    
    
  • 相关阅读:
    图解SSH隧道功能
    su和sudo命令的用法
    Linux下下载百度网盘资料
    WPS Office 2019 for Linux来了
    Linux下的录屏软件Kazam
    用hdparm获取硬盘参数
    百度,你能不能有点节操?
    locate的基本用法
    Java class不分32位和64位
    Web站点抓取工具webhttrack
  • 原文地址:https://www.cnblogs.com/TKOPython/p/11666640.html
Copyright © 2011-2022 走看看