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

    作用域由大到小分为:
    built_in-------global------enclosing------locals
    count=10
    def add():
    print(count)就认为count=10,如果要修改则函数会报错
    如果一定要这样修改,可以给count一个定义:

    count=10
    def add():
    global count
    print(count)
    count=4
    print(count)
    add()
    小结
    1,变量查找顺序LEGB,作用局部域>作用域外层>当前模块中的全局>python内置的作用域
    2,只有模块,类,以及函数才会有作用域
    3,对于一个变量,内部作用域先声明就会覆盖外部变量,不声明就会直接使用
    4,内部作用域要修改外部作用于变量的值时,全局变量要使用关键字global,
    嵌套作用域要使用nonlocal关键字,nonlocal时python3新增的关键字,有了这个关键字,就能完美的实现闭包了
    count=4#这样会报错,因为在global域中count=10,当在函数调用
    # 了count=10,函数内部enlosing域
  • 相关阅读:
    vue中使用vw适配移动端
    在vue项目中使用scss
    前端用vue怎么接收并导出文件
    QT编辑
    前置声明
    morphologyEx() getStructuringElement()
    # 类定义中调用另一个类函数的方式
    指针
    NEW
    DECLARE_DYNAMIC IMPLEMENT_DYNAMIC
  • 原文地址:https://www.cnblogs.com/laoli1020/p/8537547.html
Copyright © 2011-2022 走看看