小鸡炖葫芦 发表于 2020-10-18 15:52:56

求助global定义变量的具体用法

import easygui as g
list1 = ['*用户名','*真实姓名','固定电话','*手机号码','QQ','*E-mail']
list3 = []
def account_center():
    global list3
    list2 = g.multenterbox('【*真实姓名】为必填项\n【*手机号码】为必填项\n【*E-mail】为必\
填项','账号中心',values =list3,fields=list1)
    for i in (0,1,3,5):
      if (list2).isspace():
            g.msgbox(list1+'不能是空格,请重新输入','账号中心','重新输入')
            list3 = list2
            account_center()
      if (list2) == '':
            g.msgbox(list1+'不能为空,请重新输入','账号中心','重新输入')
            list3 = list2
            account_center()      
account_center()   
若不加其中标绿色的代码,将list3定义为global变量,则会报错提示UnboundLocalError: local variable 'list3' referenced before assignment
为什么会这样啊 难道说在函数中引用变量需要提前声明一下嘛?
感谢大佬解答!

liuzhengyuan 发表于 2020-10-23 19:46:38

在函数外的的变量不能直接在函数里使用,所以要加这个关键字
页: [1]
查看完整版本: 求助global定义变量的具体用法