gpt4 book ai didi

python - 像 'var and do_something_with(var)' 这样的语句在 Python 中有什么影响?

转载 作者:太空狗 更新时间:2023-10-29 17:58:12 26 4
gpt4 key购买 nike

在包源代码中寻找一些答案时(具体来说是漏勺),我偶然发现了一个我无法理解的字符串。我的 PyCharm 也因为“声明似乎没有效果”而皱眉。

代码摘要如下:

...
for path in e.paths():
keyparts = []
msgs = []
for exc in path:
exc.msg and msgs.extend(exc.messages()) # <-- what is that?
keyname = exc._keyname()
keyname and keyparts.append(keyname) # <-- and that
errors['.'.join(keyparts)] = '; '.join(interpolate(msgs))
return errors
...

它似乎非常pythonic,我想掌握它!

更新。因此,正如我所见,它根本不是 pythonic - 为了速记而损害了可读性。

最佳答案

如果 keyname 的计算结果为 False,and 语句将立即返回 false 并且不计算第二部分。否则,它将评估第二部分(在这种情况下返回值并不重要)。所以它基本上等同于:

if keyname: 
keyparts.append(keyname)

虽然我不确定它是否非常 pythonic,因为我刚刚建议的版本似乎更具可读性(至少对我个人而言)。

关于python - 像 'var and do_something_with(var)' 这样的语句在 Python 中有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com