Python 获取TypeError:object.\uuuu init\uuuuu()不接受任何参数

Python 获取TypeError:object.\uuuu init\uuuuu()不接受任何参数,python,python-3.x,kivy,Python,Python 3.x,Kivy,我用python开发了一个应用程序,遇到了这个问题: TypeError: object.__init__() takes no parameters 我的文件如下: Main.py: clinicbanner.py: 我认为它可能与数据库或clinicbanner.py文件连接,在超级功能中 我相信你能帮助我 谢谢你的回答和帮助 该错误意味着您正在将参数传递给它不期望的超类。在本例中,可能是cities参数,但我没有仔细观察。不要将参数传递给父级,因为父级与此无关。正如正确说明的那样,您将参

我用python开发了一个应用程序,遇到了这个问题:

TypeError: object.__init__() takes no parameters
我的文件如下:

Main.py
clinicbanner.py
我认为它可能与数据库或
clinicbanner.py
文件连接,在超级功能中

我相信你能帮助我


谢谢你的回答和帮助

该错误意味着您正在将参数传递给它不期望的超类。在本例中,可能是
cities
参数,但我没有仔细观察。不要将参数传递给父级,因为父级与此无关。

正如正确说明的那样,您将参数传递给不存在的类
C=ClinicBanner(cities=row[1])
。这是城市的争论。如果您以这种方式使用它,您最好像这样编写init方法:

def __init__(self, cities, **kwargs): 
    super(ClinicBanner, self).__init__(**kwargs) 

    centre = FloatLayout() centre_label = Label(text=cities, size_hint=(1, .2), pos_hint={"top": .2, "left": 1}) 
我将cities作为参数添加到init方法中,并将标签文本更改为cities(我假设cities是str)。这样应该可以工作,但是如果您创建了一个新的实例,您现在必须始终添加cities参数。如果您不想这样做,可以将init方法更改为
def\uuuu init\uuuu(self,cities=“”,**kwargs):
添加一个空字符串作为默认值。我希望,它现在对你有用

from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.label import Label

class ClinicBanner(GridLayout):
    rows = 1

    def __init__(self, **kwargs):
        super(ClinicBanner, self).__init__(**kwargs)

        centre = FloatLayout()
        centre_label = Label(text=kwargs['cities'], size_hint=(1, .2), pos_hint={"top": .2,  "left": 1})
        centre.add_widget(centre_label)

        self.add_widget(centre)
def __init__(self, cities, **kwargs): 
    super(ClinicBanner, self).__init__(**kwargs) 

    centre = FloatLayout() centre_label = Label(text=cities, size_hint=(1, .2), pos_hint={"top": .2, "left": 1})