Python中函数与作用域的问题

Python遇到错误就停止执行
在分支结构,循环结构中定义的是全局变量
变量作用域查找顺序:局部作用域---嵌套作用域---全局作用域---内置作用域(找到有域的变量就停止)
闭包函数与匿名函数的区别
全局变量global variable:任何位置都可以访问(一般只可访问,不可修改。如果函数引用修改要用global关键字)
局部变量local variable:只在函数内部生效,函数外不可以访问!
嵌套变量nonlocal variable:比如,第一函数中嵌套第二个函数,第一函数中定义的局部变量在第二个函数视作嵌套变量,是可以被第二函数访问
内置作用域:属于Python内置的标识符,比如input,print,int等
######################
注意:不同的作用域的同一变量是属于不同的变量的,只是同名而已!
####################################
减少全局变量的使用就意味着我们应该尽量让变量的作用域在函数的内部,但是如果我们希望将一个局部变量的生命周期延长,使其在定义它的函
数调用结束后依然可以使用它的值,这时候就需要使用闭包
#########################
使用global关键字来指示函数中的变量a来自于全局作用域,也有定义a为全局变量的意思(例如,如果全局作用域中没有a变量,那么在函数内部使
用global关键字:global a也可定义为全局变量 )
如果我们希望函数内部的函数能够修改嵌套作用域中的变量,可以使用nonlocal关键字来指示变量来自于嵌套作用域
#####################
如果处于同一作用域的同一变量,后面定义的变量会覆盖前面定义的变量
#####################
变量定义的提升是先于函数定义的
##################
list的生成器:list=(x for x in range(12)),定义的list对象,要通过for循环遍历打出来。

猜你喜欢

转载自www.cnblogs.com/Haihong72H/p/11732908.html
今日推荐