Это возвращаемое значение функции, которое вы распечатываете. Если нет оператора return (или просто return без аргумента), неявный return None добавляется в конец функции.
Вы, вероятно, хотите возвращать значения в функции вместо их печати:
defjiskya(x, y): if x > y: return y else: return x
print(jiskya(2, 3))
Ответ 2
Хорошо, для начала, когда вы сделаете это:
print(jiskya(2, 3))
Вы получаете что-то в значительной степени эквивалентное этому:
print(print(2))
Итак, что происходит? print(2) Выводит 2 и возвращает None который выводится внешним вызовом. Достаточно просто.
Теперь посмотрите на это:
defhello(): return2
Если вы это сделаете:
print(hello())
Вы получаете 2, потому что если вы распечатаете функцию, вы получите любое return значение. (return Значение обозначается return someVariable.
Теперь, хотя у print нет круглых скобок, как у большинства функций, в этом отношении эта функция немного особенная. Что возвращает print? Ничего. Итак, когда вы print print someVariable, вы получите None в качестве второй части, потому что возвращаемое значение print равно None.
Итак, как заявляли другие:
defjiskya(x, y): if x > y: print(y) else: print(x)
Следует переписать:
defjiskya(x, y): if x > y: return y else: return x
Ответ 3
Откуда взялось "None"?
Функция.
И что это?
Это то, что вернула функция.
В Python каждая функция что-то возвращает. Это может быть "несколько вещей" с использованием кортежа, или это может быть "ничего" с использованием None, но это должно что-то возвращать. Вот как мы справляемся с тем фактом, что нет способа указать возвращаемый тип (что не имело бы смысла, поскольку вы не указываете типы ни для чего другого). При интерпретации как строка для печати, None заменяется строкой "None".
None это специальный объект, который должен представлять отсутствие какой-либо реальной вещи. Его тип - NoneType (это экземпляр этого класса). Всякий раз, когда вы явно ничего не возвращаете, вы неявно возвращаете None .
Вы написали функцию для вывода одного из двух значений x or y, но не для возврата чего-либо. Итак, None было возвращено. Затем вы попросили Python напечатать результат вызова функции. Итак, он вызвал функцию (напечатав одно из значений), затем напечатал возвращаемое значение, которое было None, в виде текста "None".
Ответ 4
Вы выполняете две печати, первая в корпусе вашей функции, а вторая печатает результат функции, которого на самом деле нет.
Вам лучше сделать что-то вроде этого:
defyourfunction(x, y): if x > y: return y else: return x