gpt4 book ai didi

python - Python 正则表达式的命名约定?

转载 作者:太空狗 更新时间:2023-10-30 01:00:40 25 4
gpt4 key购买 nike

Python 中的正则表达式是否有公认的命名约定?或者,如果没有,关于如何命名它们有哪些建议?

通常我将它们命名为 look_for_dateaddress_re 但我读过几个地方,在变量名中使用像“_re”这样的后缀并不好。在我看来,正则表达式似乎需要一些东西来表明它是一个正则表达式,因为如果你只将它命名为 dateaddress,你将无法做这样的事情,这看起来很直观:

date = date_re.match(text)

最佳答案

编译的正则表达式通常是常量,因此根据PEP 8 应该有一个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 传达了“这描述了我们认为是有效的闭包模式” 和一行:

if not VALID_CLOSURE_PATTERN.match(closure_pattern):

用近乎通俗易懂的英语描述了它实际在做什么。所以在你的情况下,你可以写:

date = VALID_DATE.match(text)

关于python - Python 正则表达式的命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550674/

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