python中的作用域有哪些

  介绍

这篇文章主要介绍python中的作用域有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

python中的作用域有4种:

 python中的作用域有哪些

搜索变量的优先级顺序依次是(LEGB):

作用域局部比;外层作用域比;当前模块中的全局比;python内置作用域。

number =, 10个,,,,,,,,,,,,,#,number 是全局变量,作用域在整个程序中   def 测试():   ,,,print(数字)   ,,,a =, 8,,,,,,,,,,,,,,, #, a 是局部变量,作用域在,test 函数内   ,,,(a)打印   测试()

运行结果:

10   8
 8
  1 
 UnboundLocalError:, local  variable  & # 39; num # 39;, referenced  before 任务

如果想在函数中修改全局变量,需要在函数内部在变量前加上全球关键字。

num =, 1,,,,,,,,,,,,,,,,,,,, #, global 变量   def 添加():   ,,,global  num ,,,,,,,,,,,, #,加上,global 关键字   ,,,num  +=1   ,,,印刷(num)   add ()

运行结果:

2同理,如果希望在内层函数中修改外层的封闭变量,需要加上外地关键字

def 外():   ,,,num =, 1,,,,,,,,,,,,,,,,,, #, enclosing 变量   ,,,def 内部():   ,,,,,,,nonlocal  num ,,,,,,,, #,加上,nonlocal 关键字   ,,,,,,,num =2   ,,,,,,,印刷(num)   ,,,内()   ,,,印刷(num)   外()

运行结果:

2   2

另外我们需要注意的是:

1。只有模块,类,及函数才能引入新作用域;

2。对于一个变量、内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量(这时只能查看,无法修改);

3。如果内部作用域要修改外部作用域变量的值时,全局变量要使用全球关键字,嵌套作用域变量要使用外地关键字。

以上是python中的作用域有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

python中的作用域有哪些