web-dev-qa-db-ja.com

Python booleanメソッドの命名規則

私はPythonを学んでいるRubyistであり、次の行に沿ってPythonに慣習があるかどうか疑問に思っています。

Rubyでは、ブール値を返すメソッドは常に?で終わることになっています。例えば、

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

唯一の 既存のSO質問 これに話すことは決定的な答えを提供しません。

15
jayqui

私は @ CarolChen に同意します PEP8 、Pythonスタイルガイドへの方向転換の指針について。ただし、「読みやすさを向上させるために必要な」ことは見る人の目で見ることをお勧めします。たとえば、これらの各関数はPythonでstrオブジェクトの関数として、または組み込み関数として使用されます。これらはPythonエコシステムで得られる基本的なものであり、ブール状態を返すことに焦点を当て、簡単に読み取り可能な関数名を持つ使用スタイルの良い例です。

str。メソッド

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

組み込み関数:

isinstance()
issubclass()
8
E. Ducateme

ブール値を返すメソッドに固有の標準の命名規則はありません。ただし、PEP8には、関数の命名用に ガイド があります。

関数名は小文字で、読みやすくするために必要に応じて単語をアンダースコアで区切る必要があります。

通常、人々はisで関数を開始します(例:is_palindrome)ブール値が返されることを説明します。

6
Carol Chen

次のように定義できます

def is_palindrome(variable):
    # your logic\
    # return True / False
1
Umar Asghar