Python 跨模块变量

标签 python variables module

我意识到还有其他线程可以解决这个问题,但由于我对“类”还很陌生并且已经构建了我的类结构......我想找到一种可以集成到我的代码中的方法。我相信这不会是一个难以回答的问题!

第一个文件:NameResult.py

from NameAssign import *

NameList = NameWorks()
print(NameList.InputNames(NameVar))

第二个文件:NameAssign.py

class NameWorks:
    def __init__(self, NameVar = []):

        self.NameVar = NameVar

    def InputNames(self, NameVar):
        global NameVar
        NameVar = ['harry', 'betty', 'sam']

结果:

NameError: name 'NameVar' is not defined

非常感谢所有回复......

最佳答案

NameVar 未在 NameAssign 中定义;它仅作为局部变量存在于 NameAssign.NameWorks.InputNames() 中。解决此问题的最简单方法是在全局级别的 NameAssign 中定义它。

编辑:

事实证明,这就是你想要做的:

名称结果.py

import NameAssign

namelist = NameAssign.NameWorks(['harry', 'betty', 'sam'])
print namelist.InputNames()  # or print(...) for Py3k

名称分配.py

class NameWorks(object):
  def __init__(self, names):
    self.names = names

  def InputNames(self):
    return self.names

关于Python 跨模块变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976375/

相关文章:

python - Pandas 设置列子集慢

python - Django 文件字段 : how to set default value (auto-create empty file)?

python - 我如何有效地将 2d python 列表提供给 C++ 扩展模块

javascript - Ecma脚本 : Import all methods into local scope

python - 如何仅允许特定类的元素成为可迭代的元素(对于自定义类)

python - 使用结构化数组来命名 numpy 数组中的轴

php - 将 url 变量传递到下一页?

Mysql在循环中按变量递增

c# - 我可以在 C# 程序的开头定义一个(随机)变量,该变量在整个程序中保持不变吗?

windows - 如何判断 Windows 模块句柄是否仍然有效?