2017-12-27 847 views
3

我是一名Rubyist學習Python,我想知道是否在Python中有一個約定沿着以下幾行。Python布爾方法命名約定

在Ruby中,返回布爾值的方法應該始終以?結尾。例如,

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

唯一existing SO question我能找到來說這並沒有提供一個明確的答案。

回答

0

您可以定義它像

def is_palindrome(variable): 
    # your logic\ 
    # return True/False 
0

有特定的布爾返回方法沒有標準的命名約定。但是,PEP8具有用於命名功能的a guide

函數名稱應該是小寫的,由 分開的話強調了在必要時提高可讀性。

通常,人們用is(例如is_palindrome)開始函數來描述返回一個布爾值。

3

我同意@CarolChen的原則,轉到PEP8,Python風格指南,作爲指導。然而,我會建議,「提高可讀性是必要的」是在旁觀者的眼中。例如,這些函數中的每一個都在Python中用作str對象的函數或用作內置函數。這些與Python生態系統一樣重要,是一種重點關注返回布爾狀態並具有易讀的函數名稱的使用方式的好例子。

str。方法

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

內建函數:

isinstance() 
issubclass()