Возвращение простого значения в функциях Python
Есть ли разница в выводе простого значения функции между этими первой и второй реализациями? Для чего создавать переменную как в первом случае, если можно это все сократить?
def get_formatted_name(first_name, last_name):
full_name = f"{first_name} {last_name}"
return full_name.title()
musician = get_formatted_name('jimi', 'hendrix')
print(musician)
def get_formatted_name(first_name, last_name):
full_name = (f"{first_name} {last_name}")
print(full_name.title())
get_formatted_name('jimi', 'hendrix')
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Если вы ничего не планируете больше делать с результатом, который считает и возвращает функция, то разницы нет. Но вообще возвращать результат из функции, а не печатать его внутри - лучше сразу по нескольким параметрам:
- функцию, возвращающую значение, проще покрыть тестами
- если вы захотите потом значение не печатать, а выводить в файл, или передавать в другую функцию - у вас есть почти готовое решение, берёте результат функции и делаете с ним что хотите; а вот функцию, которая результат печатает, вам придётся переделывать
- в развитие предыдущего пункта - такие функции можно объединять в библиотеки, составлять их них как из кубиков программы, вы можете написать модуль с нужными функциями и далее подключать его в свои программы и вызывать нужные функции из него
Ну, всё это помимо того, что функция вообще-то у вас называется get_formatted_name, что предполагает, что она возвращает некое formatted_name, а если вы хотите что-то печатать в этой функции, то и называть её надо было соответственно.