2 回答

TA贡献1828条经验 获得超13个赞
根据Python 的文档:
在 Python 中,仅在函数内部引用的变量是隐式全局变量。如果在函数体内的任何地方为变量赋值,则假定它是局部变量,除非明确声明为全局变量。
因此,您不能names从另一个文件导入您的列表的原因是因为names它在您的get_pokemon_stats函数范围内并且它不是一个全局变量。
您可以names将其设为 global 将其放在您的函数之外,并将其声明为 global 以在您的函数内使用:
...
names = []
def get_pokemon_stats():
...
global names
...
但是,如果您真的想这样做,您应该仔细考虑。names一旦您调用您的get_pokemon_stats函数,将只包含实际值。尽管如此,如果您不真正了解局部和全局变量的工作原理以及何时应该使用它们,则应避免仅全局声明变量。
我建议您考虑改为执行以下代码:
from backend import get_pokemon_stats
_, _, word, _ = get_pokemon_stats()
print (word)

TA贡献1803条经验 获得超3个赞
您需要调用该get_pokemon_stats函数。它返回四个值,第三个值是names。
import backend
name_to_stats, id_to_name, names, pokemon_by_type = backend.get_pokemon_stats()
print(names)
添加回答
举报