python的命名空间和作用域讲一下
时间: 2023-05-24 11:00:51 浏览: 139
Python进阶_关于命名空间与作用域(详解)
Python中的命名空间是一个存储变量名称和变量值的地方,用于避免变量名的冲突。Python中的命名空间分为全局命名空间、局部命名空间和内置命名空间。
作用域是指变量的可见范围。Python中作用域链是指变量的查找顺序,它包括本地的命名空间、所有外部的命名空间直到全局命名空间。嵌套的函数可以访问其外部函数的变量,该变量的作用域也包括外部函数的命名空间和全局命名空间。
对于变量的查找,Python从当前命名空间向外查找,直到找到为止。如果在全局命名空间中找不到,则抛出“NameError”异常。如果在局部命名空间找到了同名的变量,则使用局部变量,如果没有找到,则使用外部命名空间的同名变量。如果还是没有找到,则会继续向外查找,直到找到全局命名空间。
阅读全文