


Подскажите по маленькому коду 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 если и без этого работает
get_formatted_name("a", None)
в первом случае вернёт "a ", во втором будет ошибка на попытке конкатенации строки с None
собсна, это был ответ на вопрос "чем отличаются эти функции", а не на вопрос "что за бред пытался запрограммировать автор этого кода"
т. е. вопрос, зачем, например, было делать по факту необязательное middle_name обязательным позиционным параметром, нужно адресовать ему