影响用于调用函数的 class

Affect the class used to called a function

我想知道是否有一种方法可以创建一个会影响调用它的 class 的函数。例如,下面的 'change text' 函数将更改我的 class 实例 'testing' 的文本,但我想知道是否有一种方法可以设置它,而不是专门 testing.label['text'],'testing' 可以更改为关键字,该关键字将引用用于调用函数的 class 的任何实例。

root = Tk()

def change_text:
    testing.label['text'] = "New Text"

class MyGui:
    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        master.geometry("250x100") 
        master.wm_title("Register App")

        self.label = Label(frame, text="Original Text", fg="Black")
        self.label.grid(row = 0, column = 0, columnspan = 3)

        self.changeButton = Button(frame, text="Change Text", command=change_text)
        self.changeButton.grid(row = 2, column = 2)


testing = MyGui(root)
testing

所以,如果我没说清楚的话,我想创建一个函数,如果被不同 class、'MyGui2' 的实例调用,它将操纵其 .标签函数。

看看Object Orientation;具有通用方法的基础 class 可以在此处为您提供帮助:

    class BaseGui(object):
        def change_text(self, newText):
            self.label['text'] = newText

    class MyGui(BaseGui):
        ...

    testing = MyGui(root)
    testing.change_text('New text')