print
и return
смешиваются при запуске Python.
Функция может return
что угодно, но это не значит, что значение будет printed
для вас.Функция может даже вернуть другую функцию (это называется функциональным программированием).
Приведенная ниже функция адаптирована из вашего вопроса и returns
строковый объект.Когда вы call
функция, это returns
объект string
в переменную с именем x
.Он содержит всю информацию, которую вы хотели, и вы можете print
передать ее на консоль.
Вы могли бы также использовать yield
или print
в цикле for, но это может быть за пределами области видимости.
def test_function(item:str="a", n:int=10):
line = item*n # this will be a string object
return line
ten_a_letters = test_function()
print(ten_a_letters)
"aaaaaaaaaa"
two_b_letters = test_function("b",2)
print(two_b_letters)
"bb"