a = 1

def test():
    print(a)


if __name__ == "__main__":

    global a
    a = 2
    test()

运行后,出现错误:
global a
^
SyntaxError: name ‘a’ is assigned to before global declaration

原因:
if __name__ == "__main__": 中的变量都是全局的,所以再一次声明global是错误的,系统会发出警告。

a = 1

def test():
    print(a)
    
if __name__ == "__main__":
    a = 2
    test()

>> 2

函数内部更改全局变量的值:

a = 1

def test():
   global a
   a = 3

def test1():
    print(a)


if __name__ == "__main__":

    a = 2
    test1()
    test()
    test1()
    
>>
2
3
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐