簡體   English   中英

Python交叉模塊變量

[英]Python Cross Module Variables

我意識到還有其他線程解決這個問題,但因為我對'Classes'相當新,並且已經構建了我的類結構......我想找到一個可以集成到我的代碼中的方法。 我相信這不會是一個難以回答的問題!

第一個文件: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中定義它。

編輯:

事實證明這就是你想要做的:

NameResult.py

import NameAssign

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

NameAssign.py

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

  def InputNames(self):
    return self.names

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM