python 函数外面的变量能在里面使用吗?

A = 1
def boss():
print(A)
boss()
这样是可以允许的

A=1
def boss():
A+=1
print A
boss ()
这样会报错,这是为什么是因为那个函数里面的A是外面的引用只能读取,不能修改吗。想请问一下为什么第二个修改A就会报错

第1个回答  2022-02-10
这涉及到变量的生命周期问题,一般的,在函数里面声明的变量在函数外是不起作用的。
一个比较简单的解决办法是你在函数外就先声明这个变量,声明成全局变量。然后在函数里面进行操作和赋值。
最后就能在函数外获取变量的值了。例如:
123456 x = 0def a(): x = 2if __name__ == '__main__': a() print x
最终x打印出来的结果就是2
第2个回答  2022-02-10

报错是因为函数中的A被认为是一个局部变量但自加之前没分配值。

可以修改全局的A,像图中这样操作就行了:

第3个回答  2022-02-10
要使用global声明一下,程序才能识别;比如
A = 1
def boss():
global A
A=A+1
print(A)
boss()
第4个回答  2022-02-09
如果在函数定义的默认值中引用了一个外部变量,如下所示 那么a的默认值就会是3, 但是print语句中的x会是调用时的x值 lambda表达式同理 调用时的a的默认值是3
相似回答