Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Подскажите по маленькому коду python разобраться

В чем отличие кода
def get_formatted_name(first_name, middle_name, last_name=''):
"""Возвращает аккуратно отформатированное полное имя."""
if middle_name:
full_name = first_name + " " + middle_name + " " + last_name
else:
full_name = first_name + ' ' + last_name
return full_name.title()

musician = get_formatted_name('jim', 'artua', 'carry')
print(musician)

signer = get_formatted_name('fred', 'marcuri', 'older')
print(signer)

actor= get_formatted_name('marcus','frederico')
print(actor)

и кода
def get_formatted_name(first_name, middle_name, last_name=''):
"""Возвращает аккуратно отформатированное полное имя."""
full_name = first_name + " " + middle_name + " " + last_name
return full_name.title()

musician = get_formatted_name('jim', 'artua', 'carry')
print(musician)

signer = get_formatted_name('fred', 'marcuri', 'older')
print(signer)

actor= get_formatted_name('marcus','frederico')
print(actor)
зачем писать if else если и без этого работает

По дате
По рейтингу
Аватар пользователя
Оракул
5лет

get_formatted_name("a", None)

в первом случае вернёт "a ", во втором будет ошибка на попытке конкатенации строки с None

собсна, это был ответ на вопрос "чем отличаются эти функции", а не на вопрос "что за бред пытался запрограммировать автор этого кода"
т. е. вопрос, зачем, например, было делать по факту необязательное middle_name обязательным позиционным параметром, нужно адресовать ему