Python中的正则表达式是否有可接受的命名约定?或者,如果没有,有什么建议如何命名他们?通常我将它们命名为look_for_date
或address_re
,但我读过几个在变量名中使用'_re'这样的后缀并不好的地方。对我来说,似乎正则表达式需要一些东西来表明它是一个正则表达式,因为如果你只是命名它date
或address
,你将无法做到这样的事情,这似乎很直观:< / p>
date = date_re.match(text)
答案 0 :(得分:6)
编译的正则表达式通常是常量,因此每个PEP 8应该有by
个名称。我倾向于为他们所匹配的东西命名;举一个我最近写的代码的例子:
.(d := DATE)
我认为这清楚地表明发生了什么,UPPER_CASE_WITH_UNDERSCORES
传达“这描述了我们认为有效的封闭模式”以及类似的行:
import re
VALID_CLOSURE_PATTERN = re.compile(r'''
^\d{2} # starts with two digits 0-9
[NY]{4}$ # followed by four Y/N characters
''', re.IGNORECASE + re.VERBOSE)
class RoadClosure(object):
def __init__(self, ..., closure_pattern):
"""Initialise the new instance."""
if not VALID_CLOSURE_PATTERN.match(closure_pattern):
raise ValueError('invalid closure pattern: {!r}'.format(closure_pattern))
...
...
描述了接近普通英语的实际行动。所以在你的情况下,你可以写:
VALID_CLOSURE_PATTERN