Python 布尔方法命名约定

新手上路,请多包涵

我是一名学习 Python 的 Rubyist,我想知道 Python 中是否有如下约定。

在 Ruby 中,返回布尔值的方法应该总是以 ? 。例如,

 def palindrome?(string)
  # some code that tests whether string is a palindrome
end

我能找到的唯一 存在的 SO 问题 并没有提供明确的答案。

原文由 jayqui 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 735
2 个回答

没有特定于返回布尔值的方法的标准命名约定。但是,PEP8 确实有 一个命名函数指南

函数名应该是小写的,必要时用下划线分隔单词以提高可读性。

通常,人们以 is 开始一个函数(例如 is_palindrome )来描述返回一个布尔值。

原文由 Carol Chen 发布,翻译遵循 CC BY-SA 3.0 许可协议

我同意 @CarolChen 的原则,即转向 PEP8 (Python 风格指南)寻求指导。然而,我会建议“在必要时提高可读性”是在旁观者的眼中。例如,这些函数中的每一个都在 Python 中用作 str 对象的函数或作为内置函数。这些都是 Python 生态系统中的基础,并且是专注于返回布尔状态和具有易于阅读的函数名称的使用风格的好例子。

海峡方法

isalnum()
isalpha()
isdecimal()
isdigit()
isidentifier()
islower()
isnumeric()
isprintable()
isspace()
istitle()
isupper()

内置函数:

 isinstance()
issubclass()

原文由 E. Ducateme 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏