gpt4 book ai didi

python - 更pythonic的方式来写这个?

转载 作者:太空狗 更新时间:2023-10-30 00:23:09 24 4
gpt4 key购买 nike

我这里有这段代码:

import re
def get_attr(str, attr):
m = re.search(attr + r'=(\w+)', str)
return None if not m else m.group(1)

str = 'type=greeting hello=world'

print get_attr(str, 'type') # greeting
print get_attr(str, 'hello') # world
print get_attr(str, 'attr') # None

哪个有效,但我不是特别喜欢这一行:

return None if not m else m.group(1)

在我看来,如果我们可以使用三元运算符,这看起来会更清晰:

return (m ? m.group(1) : None)

但这当然不存在。你有什么建议?

最佳答案

Python 一个三元运算符。你正在使用它。它只是采用 X if Y else Z 形式。

也就是说,我倾向于把这些东西写出来。如果您牺牲了清晰度,那么将东西放在一条线上并不是很好。

def get_attr(str, attr):
m = re.search(attr + r'=(\w+)', str)
if m:
return m.group(1)

return None

关于python - 更pythonic的方式来写这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823980/

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