我正在编写一组python函数,它们对源代码项目执行某种一致性检查。我想为这些函数指定相当详细的名称,例如:check_5_theVersionOfAllVPropsMatchesTheVersionOfTheAutolinkHeader()
这样过长的名字会成为python的问题吗?属性名称是否有最大长度?
答案 0 :(得分:29)
2.3. Identifiers and keywords:
标识符的长度不受限制。
但你最有可能违反PEP-8,这不是很酷:
将所有行限制为最多79个字符。
你也会违反PEP-20(Python的禅宗):
可读性计数。
答案 1 :(得分:4)
对于程序员来说,这可能是一个问题。保持函数名称相当短,并使用docstrings记录它们。
答案 2 :(得分:3)
由于属性名称只需要进行哈希处理并转入inst.__dict__
上的键,因为99%的类会遇到这种情况,因此长度没有实际限制。只要它是可以清除的,它就可以作为属性名称使用。对于使用__setattr__
\ __getattr__
\ __getattribute__
的其他1%的类,其方式可以打破保证任何hashable是有效的属性名称,但前者不适用。 / p>
当然,正如其他人所指出的那样,您将拥有更长命名属性的代码样式和质量问题。如果你发现自己需要这么长的名字,那么很可能表明你的程序存在设计缺陷,你应该考虑给你的数据提供更多的层次结构,更好地抽象和划分你的功能和方法中的责任。