我遇到了使用具有相同变量的语句的示例代码:
event_type=event_type=str(payload_json['event'])
我试过了:
a=b=c=d=10
并且所有四个变量(a,b,c和d)都变为10.喜欢:
a=10
b=10
c=10
d=10
这是一个亚马逊代码示例,所以我怀疑我对Python的理解而不是代码示例。该页面可在此处找到: AWS Kinesis example
这里可能发生什么?一些Python伏都教我不明白或只是一个错字?
答案 0 :(得分:2)
a = a = b
总是等同于python中的a = b
。在您描述时使用带有多个等号的语句称为chained assignment,并且在许多编程语言中都受支持。有些语言会在检测到相同变量(C)的链式赋值时引发错误,但其他语言会忽略它(python,javascript)。
改变这种行为并不容易实现,因为赋值操作符的行为内置于python而没有提供修改钩子(参见:Is it possible to overload Python assignment?)。因此,我认为可以安全地假设这是一个你发现的(无害的)拼写错误。