Я запутался в выборе имен для своих функций в Python . Иногда Python встроенных функций являются императивом , таких как: print
функции и метод строки find
. Иногда они не такие, как: len
его имя не является обязательным, как calculate_len
, например, и type
не является find_type
.
Я могу понять, что print
возвращает значение, которое мы не используем (то есть None
) и что-то делает (т.е. показывает строку на экране), поэтому его имя является обязательным.
Но len
возвращает значение, которое мы используем, и что-то делает (т. Е. Вычисляет, сколько элементов содержится в последовательности или отображении), и его имя не обязательно . С другой стороны, find
строковый метод (as len
) возвращает значение, которое мы используем, и что-то делает, и его имя обязательно .
Что заставило задать этот вопрос, так это то, что я поставил скрипт, который шифрует и дешифрует строку с использованием шифра Цезаря, для проверки. Рецензент сказал, что:
Просто интуитивное чувство: функции делают вещи. Поэтому хорошее имя для функции является обязательным: я бы использовал
rotate_letter
вместоrotated_letter
.
rotated_letter
возвращает однобуквенную строку, представляющую букву, повернутую на число. Я не знаю, что лучше, я использовал, rotated_letter
поскольку он возвращает значение, как randint
функция в случайном модуле , это не так generate_randint
.
Итак, в этом случае, как я должен назвать функцию, которая возвращает значение, которое будет использоваться? Должен ли я сделать имя обязательным или просто существительным . В других случаях очевидно, как это сделать, например, булевы функции , такие как, is_even
и is_palindrome
мы просто делаем это как вопрос «да / нет» , а также функции, которые просто делают и возвращают неиспользуемые значения (то есть None
), такие как print
и метод списка sort
,
len
Например, о нем лучше думать как о «длине» - вы получаете метауровневое описание его аргумента.