Python – вывод из функций?

У меня очень элементарный вопрос.

Предположим, что я вызываю функцию, например,

def foo(): x = 'hello world' 

Как заставить функцию возвращать x таким образом, чтобы я мог использовать ее как вход для другой функции или использовать переменную в теле программы?

Когда я использую return и вызываю переменную в других функциях, я получаю NameError.

Спасибо, S 🙂

3 Solutions collect form web for “Python – вывод из функций?”

 def foo(): x = 'hello world' return x # return 'hello world' would do, too foo() print x # NameError - x is not defined outside the function y = foo() print y # this works x = foo() print x # this also works, and it's a completely different x than that inside # foo() z = bar(x) # of course, now you can use x as you want z = bar(foo()) # but you don't have to 
 >>> def foo(): return 'hello world' >>> x = foo() >>> x 'hello world' 

Вы можете использовать global оператор, а затем достичь того, чего хотите, не возвращая значения из функции. Например, вы можете сделать что-то вроде ниже:

 def foo(): global xx = "hello world" foo() print x 

Вышеприведенный код напечатает «hello world».

Но, пожалуйста, будьте предупреждены, что использование «глобальных» вовсе не является хорошей идеей, и лучше избегать использования, которое показано в моем примере.

Также проверьте это связанное обсуждение об использовании глобального оператора в Python.

  • Изменение списка в python путем передачи его функции
  • Функция Python Возврат Нет
  • Программно программные решения
  • Вызывать функцию в python, get '(function) не определен'?
  • Почему некорректное присвоение глобальной переменной вызывает исключение раньше?
  • lambda возвращает lambda в python
  • Почему functools.partial не возвращает реальную функцию (и как ее создать)?
  • Python в операторе не работает
  •  
    Interesting Posts for Van-Lav

    Python: предпочитаете несколько небольших модулей или один более крупный модуль?

    Python и threading: почему «большой» объект списка теряется при обращении от другого метода?

    Существует ли общий способ для функции ссылаться?

    установить rpy2 на Windows7 64bit для Python 2.7

    Разбирая программу python на функции, как сделать одну из основных функций?

    pandas data frame – выбрать строки и очистить память?

    Установка тайм-аута подключения базы данных в Python

    Подсчитать количество вхождений данной подстроки в строку

    Использование многопроцессорности для поиска сетевых путей

    Обновление индекса поиска Haystack с помощью Django + Celery

    Почему SciPy возвращает отрицательные p-значения для чрезвычайно малых значений p с точным тестом Fisher?

    Можете ли вы получить доступ к регистрам из функций python в vim

    Python: расщепление предложения создает пробел

    Параметр $ _SERVER vs. WSGI

    matplotlib построит график в цикле, удалив colorbar, но пробелы остаются

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