Я запутался в выборе имен для своих функций в 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Например, о нем лучше думать как о «длине» - вы получаете метауровневое описание его аргумента.