在javascript中我以前能够var a=5
或return a=5
但在python中,如果我尝试global a=5
,nonlocal a=5
或return a=5
,我会收到错误消息。有没有理由说明为什么你不能或我只是做错了什么
答案 0 :(得分:4)
在某些语言中,通常的做法是将作业固定在另一个语句中。例如,
if a = 1 { ... }
Python开发人员认为这是一个bug的来源,因为它太接近
了if a == 1:
因此,他们禁止在其他陈述中嵌套作业。由于
global a
本身就是一个语句,不允许在语句内部进行赋值。