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

Допустим, у меня есть функция

def x(): print(20) 

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

  • Как получить размер строки UTF-8 в байтах с помощью Python
  • Определение того, перенаправляется ли stdout для процесса Python
  • Объединение предварительно отсортированных файлов без чтения всего в память
  • входные переменные, разделенные запятой в одной строке
  • Пользовательские ключи для моделей Google App Engine (Python)
  • Преобразование строки Unicode / UTF-8 в нижний / верхний регистр с использованием библиотеки pure & pythonic
  • python получает клавиши со стрелками из командной строки
  • GAE - Как жить без объединений?
  • 3 Solutions collect form web for “Назначение функции переменной”

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

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

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

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

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

     silly_var = x 

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

     x() 

    или

     silly_var() 

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

    Python - лучший язык программирования в мире.