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

return возвращает значение. Неважно, какое имя вы дали этой ценности. Вернувшись, он просто «передает это», чтобы что-то еще могло его использовать. Если вы хотите использовать его, вы должны захватить его извне:

lst = defineAList()
useTheList(lst)

Возврат list изнутри defineAList не означает, что «сделайте так, чтобы вся остальная часть программы могла использовать эта переменная ". Это означает «передать эту переменную и дать остальной программе шанс захватить ее и использовать». Вам нужно назначить это значение чему-либо вне функции, чтобы использовать его. Кроме того, из-за этого нет необходимости заранее определять свой список с помощью list = []. Внутри defineAList вы создаете новый список и возвращаете его; этот список не имеет отношения к тому, который вы определили с помощью list = [] в начале.

Кстати, я сменил имя переменной с list на lst. Не рекомендуется использовать list в качестве имени переменной, поскольку это уже имя встроенного типа Python. Если вы создадите собственную переменную с именем list, вы больше не сможете получить доступ к встроенному.

1
задан Samaursa 18 September 2010 в 03:41
поделиться