搜索
写经验 领红包
 > 房产

pytho 变量作用域问题(经典坑)(pytho变量作用范围)

python变量作用域详解

python变量的一生包括变量的申明,引用和修改及消亡,此文主要关注变量的引用和修改。

变量从作用域来分主要包括全局变量,嵌套(外部)变量,局部变量。

一,全局变量,一般定义在模块顶部,对整个模块都生效,可以在函数内部或者外部直接使用,举例如下

python 变量作用域问题(经典坑)(python变量作用范围)

二,嵌套(外部)变量,一般出现在函数中嵌套函数时使用,即内部函数引用外部函数的变量,举例如下

python 变量作用域问题(经典坑)(python变量作用范围)

三,局部变量,一般定义在函数内部,随着函数的消亡而消亡,举例如下

python 变量作用域问题(经典坑)(python变量作用范围)

四,修改全局变量,全局变量一经定义后一般不会修改,也不允许在函数内部修改全局变量,若一定要修改,则可以使用关键字global,举例如下

python 变量作用域问题(经典坑)(python变量作用范围)

五,修改嵌套变量,在函数中嵌套函数时,嵌套在里面的函数创建的作用域内一般也是不允许改变外层函数变量的值的,除非是nonlocal关键字声明。若该外部变量为可变类型,则可以不使用关键字nonlocal即可修改该变量的值,举例如下

python 变量作用域问题(经典坑)(python变量作用范围)

六,变量引用规则,一般是遵循从下往上的原则,先查找局部变量,在查找嵌套变量,最后查找全局变量,若找到,则引用,若没有找到,则抛出异常,NameError

温馨提示:通过以上关于python变量作用域详解内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。