Когда вы определяете функцию, например
def generator_nika(number) :
value = "Петр" + str(number)
return value
Мы передаем в аргумент число, с типом int, т.е ведушим себя как чисто математичесоке число. Мы хотим, чтобы наш результат был "Петр2020" например. Чтобы сложить слово (str) и цифрой, то надо преоброзовптб цифру в строку, чтобы мы могли в переменную сохранять все сочетание в виде стрлки. Т.е строка, str, это просто текст, со своими свойствами, не математическими.
Но, допустим, мы хотим получить переменную с этой функции и вывести ее на экран.
return
возвращает то, что мы укажем, ятобы мы впринципе млгли выйти из функции росле ее вызова.
Например, если мы напишем
nickname = generator_nika(2020)
, тл переменная никнэйм
получит это значенин "Петр2020", при этом без return функция не возвращает это значение, и его исподьщовать нельзя.
Теперь, выведем в терминвле переменную и получим
print(nickname)
>>Петр2020