【零基础入门学习Python】打卡笔记(三十八)
https://www.bilibili.com/video/BV1c4411e77t?p=46&vd_source=451f1e8f04d8c94807752b187ccd4c7e打卡笔记:
1.局部作用域
一个变量定义的位置是在一个函数里面,那么它的作用域就仅限于函数中,称为局部变量
比如,变量x在函数myfunc中定义,所以它的作用仅限于myfunc函数,如果在函数的外部访问这个量就会报错
2.全局作用域
在任何函数的外部去定义一个变量,他的作用域就是全局的,称为全局变量
如果在函数中存在一个跟全局变量同名的局部变量,在函数中,局部变量就会覆盖同名的全局变量的值
3.global语句
我们无法在函数内部修改全局变量的值,除非使用 global 语句破除限制。
4.嵌套函数
函数也是可以嵌套的,嵌套函数的内部函数无法直接被调用,只能通过外部函数来调用
5.nonlocal语句
内部函数可以访问外部函数的变量,却无法修改它。
可使用nonlocal语句明确在内部函数修改外部函数的变量,但这种做法也不提倡,
正所谓“Python只会劝你从良,但从来不会阻止你犯罪”!
6. LEGB 规则
Python变量的解析顺序为:
Local(局部作用域)→Enclosed(嵌套函数的外层作用域)→Global(全局作用域)→Build-In(内置作用域)。
掌握了这一规则,我们就知道Python如何解决不同作用域间的变量出现冲突的问题
{:5_106:} 3# {:10_287:}
页:
[1]