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?
  • Почему эта функция def не выполняется в Python?
  • Как я могу получить исходный код функции Python?
  • Понимание функций в Python
  • Изменение строк в функциях Python
  • Что значит «вызывать» функцию в Python?
  • Функция Python, которая получает письмо, возвращает (на основе 0) числовое значение в алфавите
  • Функции NameError
  •  
    Interesting Posts for Van-Lav

    Как получить имя файла pdf с запросами Python?

    Как обновить таблицу в шаблоне Django

    Я пытаюсь установить psycopg2 на Mac OS 10.6.3; он утверждает, что не может найти «stdarg.h», но я вижу, что он там; что мне делать?

    Как предотвратить потерю: nan, пока я подгоняю свою модель keras?

    Как вернуть значение скрипта python в переменную bash

    Увеличение / уменьшение скорости воспроизведения WAV-файла Python

    Почему я получаю TypeError: объект 'module' не вызывается в python?

    PyQt segfault при попытке получить суб-свойство в QML

    Устранение неполадок AttributeError: объект ResultSet не имеет атрибута 'findAll'

    Список пифонических кругов

    Как Django знает порядок для визуализации полей формы?

    Ускорение datetime.strptime

    PYTHON: чтение файла Csv и печать / запись каждой строки (сохранить заголовок) в файл HTML

    Python Praw пропускает липкие субгениты

    Как вы можете использовать имя переменной внутри спецификатора формата Python

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