python的层级
1,当使用global 定义全局变量时,经常会提示:Global variable ‘变量名’ is undefined at the module level
def test001(self) global user_id
此时发现自己竟然不知道模块级别指的是什么层次
下边是查询后得到得结果
a = '我是模块中的变量a' def hi(): a = '我是函数里的变量a' print('函数“hi”已经运行!') class Go2: a = '我是类2中的变量a' def do2(self): print('函数“do2”已经运行!')
在整个py文件中,非def和class之外得变量,一般在最上放得变量,才是模块变量
2,如果是在模块中为全局变量为全局变量赋值
# 定义一个全局变量user_id,但是仍然需要在模块层先定义一个全局变量 gloabl user_id def test001(self): globals()['user_id'] = '123' def test002(self): print(user_id)