使用从一个函数到另一个函数的变量

时间:2018-02-01 01:08:52

标签: python

我在使用从一个函数到另一个函数的变量时遇到了问题。

这是我的代码:

import tkinter as tk

def form ():
    textVar = tk.StringVar()
    entry0 = tk.Entry(self, textvariable = textVar).pack()

def toPrint():
    texto = textVar.get()
    print(texto)

def button():
    button0 = tk.Button(text="Summit", command = toPrint).pack()

现在,在toPrint()中调用的变量是form()的本地变量,因此我不能在不使用global的情况下使用它,但这会导致我的其余代码出现问题,因为我使用的是form()而不是曾经,有没有其他方法可以解决它?

如果解释很简单,我会很感激,我还是初学者。

我已经在SO中搜索了这个,但我无法理解答案。

1 个答案:

答案 0 :(得分:2)

我是英语的外国人,所以我为我的不礼貌或错误使用英语单词而道歉。只是想说我真的不是故意的。

对于这个问题,也许你可以试着将它们放在同一个班级。并尝试将要调用的变量多次作为类的属性。

例如:

class myclass():
    def __init__ (self):
        self.textVar = tk.StringVar()
        self.entry0 = tk.Entry(self, textvariable = textVar).pack()

    def toPrint(self):
        texto = self.textVar.get()
        print(texto)