Python字节码中的链式赋值
Chained Assignment in Python Bytecode

原始链接: https://loriculus.org/blog/python-chained-assignment/

启用 JavaScript 和 Cookie 以继续。

这个Hacker News讨论围绕Python中的链式赋值以及潜在的意外行为。原始文章强调了一个特性:使用可变对象(如列表)的链式赋值可能由于Python从左到右的求值方式而导致令人惊讶的结果。 许多评论者指出,这种困惑源于期望链式赋值像同时赋值一样工作,但事实并非如此。一个关键的区别在于可变类型和不可变类型;对于不可变类型(如浮点数),会创建副本,从而避免了这个问题。 讨论还涉及在函数定义中使用可变默认值(如`[]`)的危险,这会创建一个共享对象。许多人认为链式赋值容易被滥用,并且经常在专业的代码库中被禁止,提倡使用更清晰的多语句赋值。有些人承认,理解链式赋值的复杂性对于大多数Python程序员来说并不重要,尤其是那些来自非传统编程背景的程序员。
相关文章

原文
联系我们 contact @ memedata.com