首页 > 解决方案 > Python OOP 继承

问题描述

我正在尝试在我的学校工作中实现继承,但它不起作用。这是我编写的代码,这是它的基本版本:

from tkinter import *
class First(Frame):
    def __init__(self,master):
        super(First,self).__init__(master)
        self._x = int(input("Int: "))

class Second(Frame):
    def __init__(self,master):
        super(Second,self).__init__(master)
        self._y = self._x + 9

class Third(First,Second):
    def __init__(self,master):
        super(Third,self).__init__(master)
        print(self._y)



root = Tk()
root.configure(background='light grey')
myGUI = First(root)
Third()
root.mainloop()

我试图让它让用户输入一个 int 然后 +9 然后使用继承打印它。但我不断收到错误:

TypeError: __init__() missing 1 required positional argument: 'master'

我的代码可能看起来很乱,但我对 python 很陌生,所以很抱歉,谢谢你的帮助。

标签: python-3.xtkinter

解决方案


就像错误说的那样,Third需要一个名为master. 当你这样做时,你没有传递任何参数Third()

您需要将其称为Third(root).


推荐阅读