吴振虎

导航

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)

 

posted on 2020-05-09 16:01  长生帝君  阅读(6036)  评论(0编辑  收藏  举报