Python 谓词函数命名约定

use*_*871 5 python predicate

Python 是否对谓词函数的名称有一些约定?例如,谓词函数名称以pfor Common Lisp 或?Scheme结尾。有时使用像is_or has_, ...这样的前缀,但在某些情况下它们可能不合适(它们可能很长才有意义,并且不必很明显函数是乍一看的谓词)。

Aly*_*sen 5

不,Python 没有这样的官方约定。阅读PEP 8什么在Python标准化。

在 Python 中,可读性很重要。如果某事物是谓词函数,那么任何人都应该能够在不了解您的任何标准的情况下立即知道该函数是什么。isinstance, str.isupper,hasattr都是标准库的一部分,这是规范风格的一个很好的标志。我什至无需阅读文档就可以立即知道这些函数的作用和返回。使用您认为对不熟悉您的代码的人最易读的任何内容,这很可能是ishas前缀。