Хорошо, чтобы начать, когда вы сделаете это:
print(jiskya(2, 3))
Вы получаете нечто в значительной степени эквивалентное этому:
print(print(2))
Итак, что происходит?print(2)
выводит 2 и возвращает None
, который печатается внешним вызовом.Достаточно просто.
Теперь посмотрите на это:
def hello():
return 2
Если вы сделаете:
print(hello())
Вы получите 2, потому что если вы распечатываете функцию, вы получаете все, чтоreturn
значение(Значение return
обозначается return someVariable
.
Теперь, хотя print
не имеет круглых скобок, как и большинство функций, это функция, просто немного особенная в этом отношении.вернуть? Ничего. Поэтому, когда вы print print someVariable
, вы получите None
в качестве второй части, потому что возвращаемое значение print равно None
.
Так как другие заявили:
def jiskya(x, y):
if x > y:
print(y)
else:
print(x)
Следует переписать:
def jiskya(x, y):
if x > y:
return y
else:
return x