Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法识别以下错误: TypeError: object.__init__()只接受一个参数(要初始化的实例)

无法识别以下错误: TypeError: object.__init__()只接受一个参数(要初始化的实例)
EN

Stack Overflow用户
提问于 2021-03-22 20:39:30
回答 1查看 1.2K关注 0票数 0

我对编程非常陌生,目前我正在跟踪一个视频,为一个项目开发一个应用程序。我似乎不明白是什么导致了下面的错误。

代码语言:javascript
运行
AI代码解释
复制
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

代码如下:(第一个文件)

代码语言:javascript
运行
AI代码解释
复制
class MainApp(App):
    my_friend_id = 1
    def build(self):
        return GUI

    def on_start(self):
        # get database data
        result = requests.get("https://wearable-balance-belt1-default-rtdb.firebaseio.com/" + str(self.my_friend_id) +".json")
        data = json.loads(result.content.decode())
        # get and update avatar
        avatar_image = self.root.ids['home_screen'].ids['avatar_image']
        avatar_image.source = "icons/" + data['avatar']

        banner_grid = self.root.ids['home_screen'].ids['banner_grid']
        workouts = data['workouts'][1:]
        for workout in workouts:
            W = WorkoutBanner(workout_image=workout['workout_image'], description=workout['description'])
            banner_grid.add_widget(W)


    def change_screen(self, screen_name):
        # get the screen manager from the kv file
        screen_manager = self.root.ids['screen_manager']
        screen_manager.current = screen_name
        # screen_manager = self.root.ids


MainApp().run()

第二档案;

代码语言:javascript
运行
AI代码解释
复制
from kivy.uix.gridlayout import GridLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.uix.image import Image

class WorkoutBanner(GridLayout):
    rows = 1

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

        #left floatlayout
        left = FloatLayout()
        left_image = Image(source="icons/" + kwargs['workout_image'], size_hint=(1, .8), pos_hint={"top": 1, "left": 1})
        left_label = Label(text=kwargs['description'], size_hint=(1, .2), post_hint={"top": .2, "left": 1})
        left.add_widget(left_image)
        left.add_widget(left_label)

        self.add_widget(left)

我能得到的任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2021-03-23 05:16:34

此错误通常是由于将意外参数传递给基类(object类) __init__()方法造成的。在您的示例中,workout_imagedescription关键字参数将被传递给超类,并最终传递给object类。您可以通过使用kwargs.pop()__init__()方法__init__() WorkoutBanner中调用WorkoutBanner之前删除这些参数来纠正这一点。一个更简单的方法是为这两个参数定义属性,让kivy处理保存并从kwargs中删除它们,如下所示:

代码语言:javascript
运行
AI代码解释
复制
class WorkoutBanner(GridLayout):
    rows = 1
    workout_image = StringProperty('')
    description = StringProperty('')

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

        #left floatlayout
        left = FloatLayout()
        left_image = Image(source="icons/" + self.workout_image, size_hint=(1, .8), pos_hint={"top": 1, "left": 1})
        left_label = Label(text=self.description, size_hint=(1, .2), pos_hint={"top": .2, "left": 1})
        left.add_widget(left_image)
        left.add_widget(left_label)

        self.add_widget(left)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66757352

复制
相关文章
泛函编程(33)-泛函IO:Free Functor - Coyoneda
   在前几期讨论中我们终于推导出了Free Monad。这是一个Monad工厂,它可以把任何F[A]变成Monad。可惜的是它对F[A]是有所要求的:F必须是个Functor。Free Monad由
用户1150956
2018/01/05
8950
【基于 JS 的函数式编程 - 4】函子 | MayBe函子 | Monad函子
定义: 函子是一个普通对象,它实现了map函数,在遍历每个对象值的时候生成一个新对象。即,函子是一个实现了 map 契约的对象!
前端修罗场
2023/10/07
2530
【基于 JS 的函数式编程 - 4】函子 | MayBe函子 | Monad函子
函子定律
前段时间学了下 Haskell,看完了《Haskell 趣学指南》,刷了一些题,《Real World Haskell》正在看。因为早先看过《SICP》,有点 FP 的基础,平常写 Swift 也喜欢用些 FP 的技巧,所以暂时没有什么特别颠覆性的感觉。最大的感受是,以前对 Functor、Applicative 和 Monad 的理解太片面了。
Sheepy
2018/09/10
9670
Applicative 函子
Application 函子是一种加强的函子,在 Haskell 的 Control.Applicative 模块中定义了一个 Applicative 类型类:
Sheepy
2018/09/10
7600
【说站】javascript函子是什么
1、作为特殊容器通过普通对象实现,该对象具有map方法,map方法可以运行函数处理值(变形关系)。
很酷的站长
2022/11/23
2570
【说站】javascript函子是什么
JavaScript函数式编程之函子
函子是一个特殊的容器,通过一个普通对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理(变形关系),容器包含值和值变形关系(这个变形关系就是函数)。函数式编程中解决副作用的存在
开水泡饭
2022/12/26
1.2K0
Haskell
这门语言在数学模型上有着很深的优势,虽然它有很多特性,让人很难接受,随着学习的深入,你才会发现这会多么有趣。
icepy
2019/06/24
9250
Haskell doctest
一定要注意格式 第一行很重要,-- |这行没有就不是一个 test。 可以对比 >>> 的个数 和 terminal里的 Examples 个数确认是否自己的所有 test 都测试了
莫听穿林
2022/05/20
3300
Haskell doctest
泛函编程(3)-认识Scala和泛函编程
本文介绍了Scala语言中的泛函编程,从类型系统和函数式编程两个角度进行了讲解。首先介绍了Scala的类型系统特性,包括集合操作、类型推导和模式匹配。然后讲解了函数式编程在Scala中的应用,包括尾递归、纯函数、不可变数据结构、柯里化和匿名函数。通过几个示例展示了如何在Scala中实现泛函编程,包括计算第n个斐波那契数、使用高阶函数和匿名函数处理数据。最后介绍了如何使用Scala的函数作为输入参数或返回值,以及如何使用函数文本和匿名函数。
用户1150956
2018/01/04
6140
✨从纯函数讲起,一窥最深刻的函子 Monad
本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!
掘金安东尼
2022/10/27
4580
Haskell Platform安装
不懂了,明天写
云深无际
2020/11/03
1.1K0
Haskell Platform安装
haskell 求助
findBonding :: Eq a => (a -> a -> Bool) -> [a] -> Maybe [(a,a)]
用户6797589
2019/12/02
5770
什么是 Monad (Functional Programming)?函子到底是什么?ApplicativeMonad
函数式编程的精髓就在于,我们可以用好多好多小小函数,搭搭搭,组成一个个大函数,最终写出整个程序来。比如我们想写一个函数
一个会写诗的程序员
2018/12/12
4.5K0
Monad
什么是函数(Function)? 函数表达的映射关系在类型上体现在特定类型(proper type)之间的映射。
lambeta
2018/08/17
1.3K0
Monad
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
我记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会:
四火
2022/07/19
3870
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
基类和派生类
  在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。-百度百科
全栈程序员站长
2022/09/20
1K0
scala(十一) 派生类与派生对象
Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象来模拟类对象,该对象为单例对象。若单例对象名与类名一致,则称该单例对象这个类的伴生对象,这个类的所有“静态”内容都可以放置在它的伴生对象中声明。
用户1483438
2022/04/15
5380
模块_Haskell笔记2
hiding语法能够缓解命名冲突问题,但不很方便,对于存在大量命名冲突的模块,可以通过qualified保留命名空间来避免冲突
ayqy贾杰
2019/06/12
1.8K0
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
这是这个系列的最后一篇,从编程范型的角度概览,前面几篇的链接在文章后半部分有汇总。
四火
2022/07/19
5490
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)
本篇文章的话题是元编程。首先来认识元编程,我在第一篇 《引子》里面已经介绍:元编程,指的是在运行时改变 “类” 的定义,例如访问、增加或修改等等。一言以蔽之,就是 “用程序来写程序”。在第二篇的 《类型系统》里面已经借由继承和接口的实现,介绍了一些利用元编程特性来增加或改变子类行为的方法。回顾语言发展的长河,其实是经历了一个从 “对象 -> 类 -> 元类” 到 “对象 -> 原型” 的发展过程的。所以,无论是类,还是元类,这样的概念其实都不是非有不可的,只是因为我们思考的习惯,特别是抽象的习惯而顺其自然地产生了。这一点我在 《编程范型:工具的选择》里面已经详细描述了,建议在往下阅读前移步。
四火
2022/07/18
5630
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)

相似问题

Haskell -函子

13

Coyoneda与自由函子的区别是什么?

10

Haskell中的基本函子

12

Haskell :应用函子

14

Haskell fmap函子

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档