Python 2.7 Python2-在另一个类的方法中使用变量
我需要运行与此类似的代码,但无法访问变量“club\u name\u existing”。Python 2.7 Python2-在另一个类的方法中使用变量,python-2.7,Python 2.7,我需要运行与此类似的代码,但无法访问变量“club\u name\u existing”。 我的问题的关键在于,我不能将classA的方法放入init(),如果该值在A的所有实例之间共享,则可以将其作为类变量分配给: class A(): def __init__(): self.fields() def fields(): ### code to display entry_field for user input def user_
我的问题的关键在于,我不能将classA的方法放入init(),如果该值在
A
的所有实例之间共享,则可以将其作为类变量分配给:
class A():
def __init__():
self.fields()
def fields():
### code to display entry_field for user input
def user_entry(self):
club_name_existing = entry_field.get()
class B():
def __init__():
pass
def load_entry():
db = create_engine('sqlite:///' + A.club_name_existing + '.db')
如果每个实例可能不同,则必须将A
的实例传递给load\u entry
方法或B
的\uuuuu init\uuuuu
。你必须选择哪一个更适合你的情况。例如:
def user_entry(self):
A.club_name_existing = entry_field.get()
您应该考虑将它们声明为类变量。现在,它是该函数的局部变量。如果我这样做的话,会有很多变量要放,看起来也不会很有条理。它会起作用,但希望将一切都纳入方法中。更容易参考…编辑,对不起,我可能误解了你的评论。你的意思是把变量放在类中而不是放在方法中吗?变量不会改变,只需要从另一个类调用它,就像我的例子。。。像你那样分配它会允许我在我的例子中使用吗?我将尝试一下,您认为您可以提供一个传递实例以加载类b的_entry或init的示例吗?感谢you@ricky6991这是不够的信息,问题可能在于如何调用这些方法,而不是这个答案本身。。。我建议您进一步了解python对象的工作原理。
def user_entry(self):
self.club_name_existing = entry_field.get()
...
def load_entry(self, some_a):
db = create_engine('sqlite:///' + some_a.club_name_existing + '.db')