Подтвердить что ты не робот

Назначение функции переменной

Скажем, у меня есть функция

def x():
    print(20)

Теперь я хочу назначить функцию переменной с именем y, так что если я использую y, она снова вызовет функцию x. если я просто выполняю назначение y = x(), он возвращает None.

4b9b3361

Ответ 1

Вы просто не вызываете функцию.

>>>def x():
>>>    print(20)
>>>y = x
>>>y()
20

Скобки говорят python, что вы вызываете эту функцию, поэтому, когда вы их там помещаете, она вызывает функцию и присваивает y значение, возвращаемое x (которое в этом случае равно None).

Ответ 2

Когда вы назначаете функцию переменной, вы не используете(), а просто имя функции.

В вашем случае, заданном def x(): ... и переменной silly_var, вы сделали бы что-то вроде этого:

silly_var = x

а затем вы можете вызвать функцию либо с помощью

x()

или

silly_var()

Ответ 3

когда вы выполняете y=x(), вы фактически присваиваете y результатом вызова объекта функции x, а функция имеет возвращаемое значение None. Вызов функций в python выполняется с помощью (). Чтобы назначить x to y, чтобы вы могли вызывать y так же, как и вы, x, присвойте объекту функции x y как y=x и вызовите функцию, используя y()