Pythonで関数の名前を選択することについて混乱しています。時々 、Pythonは組み込み関数ですが不可欠のような:print
機能と文字列の方法find
。時々、それらは次のようなものではありません:len
その名前はcalculate_len
、たとえばなどの命令型でtype
はなく、find_type
です。
これprint
は、使用しない値(つまりNone
)を返し、何かをする(つまり、画面に文字列を表示する)ため、その名前は必須です。
ただしlen
、使用する値を返し、何かを実行します(つまり、シーケンスまたはマッピングに存在するアイテムの数を計算します)。その名前は必須ではありません。一方、find
文字列メソッド(as len
)は、使用する値を返し、何かを実行します。その名前は必須です。
この質問をしたのは、Caesar暗号を使用して文字列を暗号化および復号化するスクリプトをレビューに追加したことです。レビューアは次のように言った:
ただの直感:関数は何かをします。したがって、関数の適切な名前は必須
rotate_letter
ですrotated_letter
。代わりにを使用します。
rotated_letter
数字で回転した文字を表す1文字の文字列を返します。私はrotated_letter
それが値を返すのでrandint
、ランダムモジュールの関数のように使用しましたが、そうではありませんgenerate_randint
。
したがって、この場合、使用する値を返す関数にどのように名前を付ける必要がありますか?名前を必須にするべきか、それとも名詞にするべきか。他の場合では、次のような、それを行う方法は明らかですブール関数のような、is_even
そしてis_palindrome
我々は同じようにそれを作るはい/いいえ質問し、また機能だけで行うと戻り未使用の値(つまり、None
など)、print
およびlistメソッドsort
。
len
たとえば、「の長さ」と考える方が適切です-引数のメタレベルの説明を取得しています。