我正在编写一组 python 函数,它们对源代码项目执行某种一致性检查。我想为这些函数指定非常详细的名称,例如:check_5_theVersionOfAllVPropsMatchesTheVersionOfTheAutolinkHeader()
这么长的名字对python来说会是个问题吗?属性名称是否有最大长度?
我正在编写一组 python 函数,它们对源代码项目执行某种一致性检查。我想为这些函数指定非常详细的名称,例如:check_5_theVersionOfAllVPropsMatchesTheVersionOfTheAutolinkHeader()
这么长的名字对python来说会是个问题吗?属性名称是否有最大长度?
2.3. The Python Language Reference 中的标识符和关键字:
标识符的长度不受限制。
但是您很可能会违反PEP-8,这并不是很酷:
将所有行限制为最多 79 个字符。
您还将违反PEP-20(Python 之禅):
可读性很重要。
它们可能是程序员的问题。保持函数名称合理简短,并使用文档字符串来记录它们。
由于属性名称只是被散列并转换inst.__dict__
为您将遇到的 99% 的类的键,因此对长度没有真正的限制。只要它是可散列的,它就可以用作属性名称。对于其他 1% 的类,它们以破坏任何可哈希值是有效属性名称的保证的方式摆弄__setattr__
\\ __getattr__
,但前面的不适用。__getattribute__
当然,正如其他人所指出的那样,您将对较长的命名属性产生代码样式和质量问题。如果您发现自己需要这么长的名称,这很可能表明您的程序存在设计缺陷,您可能应该考虑为您的数据提供更多层次结构,并在函数和方法中更好地抽象和划分职责。