python基础名称空间与作用域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础名称空间与作用域相关的知识,希望对你有一定的参考价值。
1.名称空间:存放名字与值的绑定关系
2.名称空间分为三种
1)内置名称空间:python解释器自带的名字,python解释器启动就会生成
2)全局名称空间:文件级别定义的名字都会存放于全局名称空间,执行python文件时会产生
x=1
def func():
pass
class Foo():
pass
import os
3)局部名称空间:定义在函数内部的名字,局部名称空间只有在调用函数时生效
def func(x,y):
z=3
func(1,2)
3.三者的加载顺序:内置名称空间》》全局名称空间》》局部名称空间
4.取值:局部名称空间》》全局名称空间》》内置名称空间
max=10
def func():
max=20
print(max)
func()
print(max)
5.作用域:作用范围
全局作用域:内置名称空间与全局名称空间的名字属于全局范围,
在整个文件的任意位置都能被引用,全局有效
局部作用域:局部名称空间的名字属于局部范围,
只在函数内部可以被引用,局部有效
局部作用域----->全局作用域
print(globals()) #查看全局作用域的名字
print(locals()) #查看局部作用域的名字
以上是关于python基础名称空间与作用域的主要内容,如果未能解决你的问题,请参考以下文章
python基础之====函数对象函数嵌套名称空间与作用域装饰器