首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >object.__init__()只接受一个参数(要初始化的实例)

object.__init__()只接受一个参数(要初始化的实例)
EN

Stack Overflow用户
提问于 2019-09-25 05:45:23
回答 2查看 2.4K关注 0票数 0

我一直在尝试修复这个错误,当我尝试向继承Gridlayout的类添加小部件时,我真的不知道继承widget的类是问题还是gridlayout类,我一直在尝试做许多事情,但没有任何结果,所以我想问一下这是否有解决方案

第一个类是继承小部件的类

代码语言:javascript
运行
AI代码解释
复制
class MyPaintElement(Widget):
def __init__(self, **kwargs):
    super(MyPaintElement, self).__init__(**kwargs)
    self.active = False

def on_touch_down(self, touch):
    # Check if touch event is inside widget
    if self.collide_point(touch.x, touch.y):
        self._draw_rectange()

def on_touch_move(self, touch):
    # Check if touch event is inside widget
    if self.collide_point(touch.x, touch.y):
        # If so, draw rectangle
        self._draw_rectange()

def _draw_rectange(self):
    self.canvas.clear()
    with self.canvas:
        # lets draw a semi-transparent red square
        Color(1, 1, 1, 1, mode='rgba')
        Rectangle(pos=self.pos, size=(self.width*0.9, self.height*0.9))
    self.active = True

def clear(self, color):
    self.canvas.clear()
    with self.canvas:
        if color == "black":
            # lets draw a semi-transparent red square
            Color(0, 0.65, 0.65, 1, mode='rgba')
        else:
            Color(0, 0.2, 0.2, 1, mode='rgba')
        Rectangle(pos=self.pos, size=(self.width*0.9, self.height*0.9))
    self.active = False

def mark(self):
    self._draw_rectange()

第二个类是我在继承GridLayout的"add_widget“部分中调用这个类的地方

代码语言:javascript
运行
AI代码解释
复制
class MyPaintWidget(GridLayout):

CODING_SIZE = 4

def __init__(self, size, **kwargs):
    super(MyPaintWidget, self).__init__(**kwargs)
    self.cols = size
    for index in range(self.cols * self.cols):
        self.add_widget(MyPaintElement())

def clear(self):
    index = 0
    #with self.canvas.before:
    #    Color(0, .1, .3, 1)  # green; colors range from 0-1 instead of 0-255
    #    self.rect = Rectangle(size=self.size,
    #                         pos=self.pos)

    for child in self.children:
        if index % 2:
            child.clear("dark-turquoise")
        else:
            child.clear("black")
        index += 1

def get_pattern(self):
    # Initial pattern is an empty list of integers
    pattern = []
    # Integer representation or first row of pattern (bottom)
    val = 0
    # Counter to obtain integer value from binary row
    count = 1
    # For each MyPaintElement instance, verify if active and
    # add integer value to val depending on its position (count)
    for child in self.children:
        if child.active:
            val += count
        count *= 2
        # If row over, append to pattern array and
        # start encoding new one
        if count == pow(2, MyPaintWidget.CODING_SIZE):
            pattern.append(val)
            val = 0
            count = 1
    return pattern

def draw_pattern(self, pattern):
    """ Draw given pattern in painter"""
    for index in range(len(pattern)):
        # Get children in groups of four (As codification was made by groups of four)
        child_offset = index*MyPaintWidget.CODING_SIZE
        child_set = self.children[child_offset:child_offset+MyPaintWidget.CODING_SIZE]
        # Convert current number of pattern into binary
        format_str = "{0:0"+str(MyPaintWidget.CODING_SIZE)+"b}"
        bin_pattern_element = format_str.format(pattern[index])
        # Traverse binary, mark or clear corresponding child
        for j in range(len(bin_pattern_element)):
            if bin_pattern_element[MyPaintWidget.CODING_SIZE-1-j] == "1":
                child_set[j].mark()
            else:
                if j % 2:
                    child_set[j].clear("dark-turquoise")
                else:
                    child_set[j].clear("black")

最后,它给我的错误是这样的

代码语言:javascript
运行
AI代码解释
复制
File ".\main.py", line 513, in <module>
MyPaintApp().run()
File "C:\PATH\site-packages\kivy\app.py", line 829, in run
root = self.build()
File ".\main.py", line 509, in build
intentions_ui = IntentionsInterface()
File ".\main.py", line 244, in __init__
self.add_widgets_layouts()
File ".\main.py", line 364, in add_widgets_layouts
self.desired_state_panel = GridLayout(cols=1, padding_x = 10, size_hint_y = 1,size_hint_x=0.5)
File "C:\PATH\site-packages\kivy\uix\gridlayout.py", line 256, in __init__
super(GridLayout, self).__init__(**kwargs)
File "C:\PATH\site-packages\kivy\uix\layout.py", line 76, in __init__
super(Layout, self).__init__(**kwargs)
File "C:\PATH\site-packages\kivy\uix\widget.py", line 350, in __init__
super(Widget, self).__init__(**kwargs)
File "kivy\_event.pyx", line 243, in kivy._event.EventDispatcher.__init__
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

所以,我想知道为什么会发生这种情况,我真的很感谢任何建议或建议!

EN

回答 2

Stack Overflow用户

发布于 2019-09-25 06:06:15

我认为网格布局的列没有初始化。

代码语言:javascript
运行
AI代码解释
复制
super(MyPaintWidget, self).__init__(**kwargs)

需要修改为

代码语言:javascript
运行
AI代码解释
复制
super(MyPaintWidget, self).__init__(size)
票数 0
EN

Stack Overflow用户

发布于 2020-03-23 04:47:10

我正在寻找相同的解决方案,但我尝试了不同的“调用”应用程序,它工作。试试这个:

代码语言:javascript
运行
AI代码解释
复制
class MyApp(App):

    def build(self):
        return Label(text='Hello world')

#this is what i call "calling":
if __name__ == '__main__':
    MyApp().run()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58091823

复制
相关文章
如何保存机器学习模型
这篇文章主要介绍持久化存储机器学习模型的两种方式:pickle和joblib,以及如何DIY自己的模型存储模块。
MeteoAI
2019/08/21
2.6K0
如何保存机器学习模型
如何口述机器学习模型原理
作者:Ricky翘 zhuanlan.zhihu.com/p/34128571 有时碰到跟别人聊起模型的熟悉时,不免要阐述下模型的原理,但一般口头交流都比较难,因为脑海里面都是一些公式,似乎从功利角度有必要把模型原理用文字表达一遍,所以自己整理了下机器学习的部分,有遗漏或者不对的地方也请多多指教~
统计学家
2019/07/22
8340
如何口述机器学习模型原理
如何提速机器学习模型训练
注: 本文中有一些超链接,在微信中不能打开,可以转到我的博客,地址:https://qiwsir.github.io/2021/02/16/speed-up-sklearn/,或者点击文末的“原文链接”查看。
老齐
2021/03/11
1.2K0
如何提速机器学习模型训练
如何评估机器学习模型的性能
您可以整天训练有监督的机器学习模型,但是除非您评估其性能,否则您永远无法知道模型是否有用。这个详细的讨论回顾了您必须考虑的各种性能指标,并对它们的含义和工作方式提供了直观的解释。
计算机与AI
2020/12/14
1.1K0
如何评估机器学习模型的性能
如何快速优化机器学习的模型参数
【导读】一般来说机器学习模型的优化没什么捷径可循。用什么架构,选择什么优化算法和参数既取决于我们对数据集的理解,也要不断地试错和修正。所以快速构建和测试模型的能力对于项目的推进就显得至关重要了。本文我们就来构建一条生产模型的流水线,帮助大家实现参数的快速优化。
AI科技大本营
2018/10/22
7320
如何快速优化机器学习的模型参数
教程 | 如何使用JavaScript构建机器学习模型
选自:hackernoon 作者:Abhishek Soni 参与:李泽南 目前,机器学习领域建模的主要语言是 Python 和 R,前不久腾讯推出的机器学习框架 Angel 则支持 Java 和 S
机器之心
2018/05/08
1.2K0
教程 | 如何使用JavaScript构建机器学习模型
机器学习如何训练出最终模型
Jason Brownlee 2017年3月17日 我们用于对新数据进行预测的机器学习模型称为最终模型。 在应用机器学习时,如何训练出一个最终模型这可能是大家的一个疑惑。 初学者通常会问以下问题:
小莹莹
2018/04/23
1.7K0
机器学习如何训练出最终模型
如何「科学的比较」机器学习模型表现?
最近在赶paper,码字的时间不多,也刚好借着这个机会践行“写少、少写,写好”。今天谈谈如何对比多个机器学习算法的性能,阅读本文需要基本的统计检验知识,比如明白假设检验中 P<0.05通常说明了统计学显著性差异。 0. 背景 对比多个机器学习的算法性能是研究中很重要的一步,举几个常见的场景: 假设你开发了一个新的算法,那么希望在多个数据集上证明你的新算法是 state of the art(最牛逼的)。 假设你找到了一个新的数据集,你想研究到底什么算法在这个数据集上表现最优。 结合上面两个场景,你想知道
小莹莹
2018/04/24
2.5K0
如何「科学的比较」机器学习模型表现?
如何在面试中解释机器学习模型
为了帮助大家准备面试,这里分享一个资源,它提供了每个机器学习模型的简明解释。它们并不详尽,而是恰恰相反。希望阅读这篇文章后,你会了解如何以简洁的方式解释复杂的模型。
McGL
2020/11/10
1K0
如何在面试中解释机器学习模型
对抗机器学习模型
随着AI时代机器学习模型在实际业务系统中愈发无处不在,模型的安全性也变得日渐重要。机器学习模型很可以会遭到恶意攻击,比较直接就能想到的如:人脸识别模型的攻击。训练出具有对抗性的机器学习模型,在业务系统存在着越来越重要的实际意义。
小爷毛毛_卓寿杰
2019/05/14
1.1K0
对抗机器学习模型
如何推动横向工作
有些工作做得比较顺利,有的工作推进过程中遇到了一些预期之外的困难,经过近两年的沉淀,一些事情有了心得体会,这里分享下,希望可以帮助大家横向工作推进上有帮助。
春哥大魔王
2023/03/22
9220
如何推动横向工作
机器学习-LR模型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
6550
Python-matplotlib 横向堆积柱状图绘制
,经群里爱学习的小伙伴们提醒,居然漏了一个常用的柱状图形式。看吧····知识点还是没有系统起来(最近也在对各种图表进行系统规整哦,包括学术和商业的
DataCharm
2021/02/22
6.5K1
Python-matplotlib 横向堆积柱状图绘制
快速学习-机器学习(模型介绍)
机器学习 模型介绍 监督学习-回归模型 线性回归模型 线性方程求解 线性回归模型 最小二乘法 求解线性回归 多元线性回归 梯度下降法求解线性回归 梯度下降法和最小二乘法 分类模型 K近邻 KNN示例
cwl_java
2020/03/23
5560
快速学习-机器学习(模型介绍)
【机器学习】使用MLflow管理机器学习模型版本
在机器学习项目中工作通常需要大量的实验,例如尝试不同的模型、特征、不同的编码方法等。
黄博的机器学习圈子
2021/02/12
3.1K0
【机器学习】使用MLflow管理机器学习模型版本
如何在评估机器学习模型时防止数据泄漏
在模型评估过程中,当训练集的数据进入验证/测试集时,就会发生数据泄漏。这将导致模型对验证/测试集的性能评估存在偏差。让我们用一个使用Scikit-Learn的“波士顿房价”数据集的例子来理解它。数据集没有缺失值,因此随机引入100个缺失值,以便更好地演示数据泄漏。
deephub
2021/03/10
1K0
如何在评估机器学习模型时防止数据泄漏
代码案例详解!如何让机器学习模型自解释!⛵
近年来,可解释的人工智能(XAI)和可解释的机器学习引起了越来越多的关注,因为直接把模型当做黑箱使用信任度和可控度都会受影响。有一些领域,模型的可解释性更加重要,例如在医疗领域,患者会质疑为什么模型诊断出他们患有某种疾病。
ShowMeAI
2022/11/24
9200
代码案例详解!如何让机器学习模型自解释!⛵
机器学习(七):Azure机器学习模型搭建实验
Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推出的基于Web使用的一项机器学习服务,机器学习属人工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行识别。这种方式能够通过历史数据来预测未来事件和行为,其实现方式明显优于传统的商业智能形式。
Lansonli
2023/02/18
7030
机器学习(七):Azure机器学习模型搭建实验
机器学习模型效果评估
总第96篇 前言 前面的推文中介绍了几种常用的机器学习算法,每个算法都有各自的优劣势,我们应该选择根据每个算法的优劣势去合理的选择适合我们需求的算法,以此达到效果最优,那么什么样的效果才是最优的,用
张俊红
2018/04/11
2.1K0
机器学习模型效果评估
机器学习(六):模型评估
模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。
Lansonli
2023/02/18
8580
机器学习(六):模型评估

相似问题

机器学习模型如何更新?

10

如何稳定机器学习模型?

226

如何改进性能机器学习-- DQ学习模型

10

出口机器学习模型

15

判别模型机器学习

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文