中英文泡椒 发表于 2023-8-25 17:50:06

【零基础入门学习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如何解决不同作用域间的变量出现冲突的问题





琅琊王朝 发表于 2023-8-25 18:19:48

{:5_106:}

歌者文明清理员 发表于 2023-8-25 18:27:20

3#

cjjJasonchen 发表于 2023-8-25 19:03:37

{:10_287:}
页: [1]
查看完整版本: 【零基础入门学习Python】打卡笔记(三十八)