What exactly constitutes a constant in Python?

前端 未结 2 1605
执笔经年
执笔经年 2021-01-16 05:57

PEP 8 prescribes that

Constants are usually defined on a module level and written in all capital letters with underscores separating words. Example

2条回答
  •  醉酒成梦
    2021-01-16 06:31

    Well, the PEP 8 coding conventions were primarily written for the Python standard library:

    This document gives coding conventions for the Python code comprising the standard library in the main Python distribution.

    Grepping through some of the modules in the Python 3.5 standard library, alongside with the usual strings and numbers, one finds things like

    UUIDs, uuid.py:

    NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')
    

    regular expressions, smtplib.py

    OLDSTYLE_AUTH = re.compile(r"auth=(.*)", re.I)
    

    dictionaries, plistlib.py:

    _BINARY_FORMAT = {1: 'B', 2: 'H', 4: 'L', 8: 'Q'}
    

    frozensets, asyncore.py:

    _DISCONNECTED = frozenset({ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED, EPIPE, ...
    

    and a datetime.date in calendar.py

    _EPOCH_ORD = datetime.date(EPOCH, 1, 1).toordinal()
    

    thus basically anything that is supposed to remain constant for the entire duration of the execution, even if it were a mutable type (the dictionary in plistlib.py).

提交回复
热议问题