首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的Python类声称我有2个参数而不是1?

这个问题涉及到Python类的初始化过程,以及参数传递的方式。

在Python中,类的初始化是通过__init__方法来实现的。当我们创建一个类的实例时,__init__方法会被自动调用,并传递所需的参数。

在这个问题中,我们需要检查类的定义,以及创建实例时传递的参数。可能的原因是,在创建实例时,传递了多余的参数,导致类的初始化方法收到了2个参数。

例如,假设我们有以下类的定义:

代码语言:python
代码运行次数:0
复制
class MyClass:
    def __init__(self, param1):
        self.param1 = param1

在创建实例时,我们只需要传递一个参数:

代码语言:python
代码运行次数:0
复制
my_instance = MyClass("value1")

如果我们不小心传递了多余的参数,例如:

代码语言:python
代码运行次数:0
复制
my_instance = MyClass("value1", "value2")

这将导致类的初始化方法收到2个参数,从而导致问题。

为了解决这个问题,我们需要检查创建实例时的代码,确保只传递所需的参数。如果需要传递多个参数,我们需要修改类的定义,以便它可以接受多个参数。

总之,这个问题涉及到Python类的初始化过程,以及参数传递的方式。我们需要检查类的定义,以及创建实例时传递的参数,确保它们匹配。如果需要传递多个参数,我们需要修改类的定义以接受多个参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么我放弃了运维必学必会的 Python,而选择了更加高大上的 Go?

没有什么比一门新的编程语言更令开发者兴奋了,不是么? 因此,我在 4、5 个月之前开始学习 Go。在这里我将告诉你,你为什么也要学习这门新语言。...在这篇文章中,我不打算教你怎样写 “Hello World!!”。网上有许多其他的文章会教你。我将阐述软硬件发展的现状以及为什么我们要学习像 Go 这样的新语言?...,使用 C、C++ 的最大好处就是它的性能,因为 C/C++ 是编译型语言而不是解释型语言。...Go 有意的忽视了许多现代面向对象语言的一些特性。 没有类。 所有代码都仅用 package 分开,Go 只有结构体而不是类。 不支持继承。 这将使得代码易于修改。...在其他语言中,如:Java/Python,如果类 ABC 继承类 XYZ 并且你在类 XYZ 中做了一些改动,那么这可能会在继承类 XYZ 的其他类中产生一些副作用。

1.3K10

关于现代包管理器的深度思考——为什么现在我更推荐 pnpm 而不是 npmyarn?

它的安装也非常简单。可以有多简单? npm i -g pnpm 二、特性概览 1. 速度快 pnpm 安装包的速度究竟有多快?先以 React 包为例来对比一下: ?...对 yarn 比较熟悉的同学可能会说,yarn 不是有 PnP 安装模式(https://classic.yarnpkg.com/en/docs/pnp/)吗?...比如 React 有一些内部变量,在两个不同包引入的 React 不是同一个模块实例,因此无法共享内部变量,导致一些不可预知的 bug。...接着,从 npm3 开始,包括 yarn,都着手来通过扁平化依赖的方式来解决这个问题。相信大家都有这样的体验,我明明就装个 express,为什么 node_modules里面多了这么多东西? ?...注意,使用的是硬链接,而不是软链接。如: pnpm link ../..

3.3K20
  • PyTorch-Nightly 受到供应链攻击,导致数据和文件泄露

    由于 PyPI 是索引优先的,所以安装的是这个恶意包,而不是官方存储库中的版本。这种设计允许用户注册与第三方索引中存在重名的包,pip 将默认安装他们的版本。...这也不是第一次有黑客声称他们的行为应算是伦理研究,就像他们被抓到窃取机密一样。 根据 Plate 的说法,依赖项混淆攻击可以使用私有存储库来托管内部包和镜像外部包来解决。...Python 生态系统有一个这样的解决方案是 devpi,但它并不简单。 通常,这样的解决方案允许对依赖项解析和包下载过程进行更多的控制。...今日好文推荐 GitHub裁员10%,办公室全关,全体远程办公;微软必应集成ChatGPT下载量猛增10倍;谷歌出师不利市值蒸发超万亿|Q资讯 马斯克开会当场解雇Twitter首席工程师:我有1亿多粉丝...,他却说公众对我失去兴趣 15年做不好的代码搜索,用Rust重写搞定:GitHub声称能从此“改变游戏规则” 搜索引擎技术大战,始于今日

    43510

    不要和一种编程语言厮守终生:为工作正确选择

    例如,许多通常使用运行时语言,如Java或Python的开发人员,声称C或C ++令人透不过气来,会因为关注例如内存管理这类低层次的细节,或关心编译时类型检查的严格粒度,而扼杀分置于开发人员的职责。...相反,我们希望当内存分配和释放的时候,能够严格控制有多少move-assignment和copy-assignment被执行,并在编译时捕捉尽可能多的错误,而不是让错误渗入运行时(表现为运行时异常)。...这种严谨会妨碍开发人员去质疑,如,“我要在堆栈上或堆上创建对象吗,或者部分在堆栈上,另一部分在堆上?”或“要让这个类可扩展,应该通过模板参数还是通过继承?”等决定。...语言是手段而不是目的 这是第四条,也是最后一条原则,听上去可能最哲学,但也可以说是最重要的: 编程语言是一种手段,而不是目的。...除非你是一个语言标准的作者或是一个编译器的作者,否则你就应该将编程语言当作是一种手段而不是目的,目的是完成项目:最终的目标是要完成项目,而不是使用特定的语言。

    30220

    那些打着AI万金油旗号的产品欺骗大众,如何识别?

    这些系统声称甚至不用理会应聘者说的内容,根据肢体语言和语音就可以分析一个应聘者。 基本常识会告诉我们这不可能,但是AI专家会说这是可能的。而实际上这个产品只是一个精心制作的随机数生成器。 ?...请注意,AI专家对人工智能或强AI的预测距离尚有50多年之久,但是历史告诉我们,即使是专家,也往往对AI的发展太乐观了。 ? 让我们更具体一点。我将把AI应用程序分为三类(并非详尽无遗)。...第二类是关于尝试自主判别的应用程序。人的思维是具有启发性的,例如什么是垃圾邮件,而不是垃圾邮件,并且给出足够的例子。机器会尝试去学习它。...我们似乎已经准备部署这些系统,并且必须决定如何最好地管理它们,例如为被错删内容的人们找出适当的程序机制。 ? 我将把剩下的话题集中在第三类,那里有大量的万金油。...图上的是表现最好的模型。 ? 这就是问题所在。 回归分析已有一百年历史了。 ? 在许多领域都有相同的发现。 请注意,上图所示是准确度,而不是R^2,因此65%仅比随机数略好。

    45910

    不要和一种编程语言厮守终生:为工作正确选择

    例如,许多通常使用运行时语言,如 Java 或 Python 的开发人员,声称C或 C++ 令人透不过气来,会因为关注例如内存管理这类低层次的细节,或关心编译时类型检查的严格粒度,而扼杀分置于开发人员的职责...相反,我们希望当内存分配和释放的时候,能够严格控制有多少 move-assignment 和 copy-assignment 被执行,并在编译时捕捉尽可能多的错误,而不是让错误渗入运行时(表现为运行时异常...这种严谨会妨碍开发人员去质疑,如,“我要在堆栈上或堆上创建对象吗,或者部分在堆栈上,另一部分在堆上?”或“要让这个类可扩展,应该通过模板参数还是通过继承?”等决定。...语言是手段而不是目的   这是第四条,也是最后一条原则,听上去可能最哲学,但也可以说是最重要的: 编程语言是一种手段,而不是目的。   ...除非你是一个语言标准的作者或是一个编译器的作者,否则你就应该将编程语言当作是一种手段而不是目的,目的是完成项目:最终的目标是要完成项目,而不是使用特定的语言。

    66470

    使用 Python 创建 AI 比你想象的轻松

    最后,有Python,正如开发人员所说,Python类似于Lisp。它是最流行的AI语言之一。为什么会这样?为什么开发人员用Python编写AI?让我们来看看。 为什么人们选择Python?...Python是在20世纪80年代末创建的。它的实现始于1989年。Python的哲学是非常有趣,因为它包括几个格言。显式而不是隐式,简单而不是复杂。Python创作者珍视美丽的设计和外观。...更重要的是,他们声称可读性是计数。Python有一个干净的语法和语法。它是自然和流利的。正如Python的开发人员所说,语言的目标是使用酷。...虽然它不是完美的科学编程语言,它的功能是有效的: 数据结构 类 灵活的函数调用语法 迭代器 嵌套函数 厨房水槽包括标准图书馆 伟大的科学图书馆 酷开源库(Numpy,Cython,IPython,MatPlotLib...这就是为什么如此多的企业家正在考虑把聊天机器人带到他们的网站。有很多方法可以做到这一点。您可以使用不同的语言和方法。您可以与专业的软件开发公司构建chatbots 。你也可以使用Python来构建它。

    65030

    数据科学家:那些年,我都学过哪些编程语言…

    因此,一门语言的流行程度仅应作为当前趋势的一个指标,而不是决定你选择的因素。归根结底,这是涉及到应用、经验和个人偏好的问题。 MATLAB 通过吴恩达的机器学习课程,我开始接触机器学习领域。...数据科学课程的侧重点应该在于如何进行数据分析,而不是使用某种语言进行分析。...我们的目标是创建能够自动执行机器学习实验的软件工具。R更像是一种目的,而不是一种手段,因为我们希望通过使用丰富的R语言库对机器学习技术进行广泛的研究。...——不,我用过很多语言,但我对Python有不错的预感。 很高兴我说服了他,如今我使用Python进行数据分析十分舒心。易于设置实验,附加功能以及丰富的库带来的便利性让我的工作非常顺利。...不过,我的意思并不是指Python就是无敌的。程序员不应该局限于某种语言,而是应该不断地尝试。因此,下次当你遇到新数据集时,不要害怕尝试新的软件。就算失败了,你也会从中有所收获。

    84720

    Python一题多解学思路:指定列前置

    ---- 问题 有位小伙伴提了一个简单的问题,数据如下: 我希望把列"key1,2,3"调整到表头的最左边,其他的列顺序我不关心 别让我把所有列名写出来,因为我有些表可能有几十上百的列 ---- 前提...如果希望得到列表,只需要 list(df.columns) 即可 如何拼接 Python 中的2个列表: 理解这两点后,现在的问题其实不是什么 pandas 或 啥表头的顺序问题,而是一个列表构造问题...---- 解法2 "Python 不是一直声称语法简单吗,为什么不可以把 2 个列表相减,就得到剩余列名?" 这想法还挺有道理的,为什么不呢?...为什么需要在外面再套一个 list 呢?因为下一步我们需要使用 "列表相加" 的骚操作 细心的你可能注意到,出来的结果中,其他列的顺序与解法1不一样!...行4:pd.Series 中传入有重复元素的列表,就能返回一个 Series。使用他的去重方法即可完成 "有问题啊,new_cols 是列表?,不应该是一个 Series 吗?

    84030

    谷歌新小模型Gemma2 2B真的和比它大100倍的模型相当吗?(全面测试)

    它在基准测试中表现非常好,但当我测试它时,它几乎无法回答我的所有问题,这显然意味着它只是在基准测试问题上进行了训练。 现在,谷歌发布了另一种模型,这次是一个更小的 20 亿参数模型。...最近 GPT-40 Mini 发布了,而该模型声称比 GPT-3.5 Turbo 更强,这个模型应该是类似于 70B 或 100B 的模型,但现在这个 2B 参数的模型声称击败了它,这对我来说似乎非常不真实...我认为他们再次做了同样的事情,通过基准测试训练模型并虚构数字。我不明白他们为什么每次都要这样做。...虽然它给出了词语 tree 而不是数字,但当我跟进时,它给出了正确的答案,所以这是合格的。 下一个问题是:我有两个苹果,然后我再买两个,我用两个苹果做了一个派,吃了一半之后我剩下多少个苹果?...好的,答案来了,它没有正确回答这个问题,所以这是一个失败。 下一个问题是:Sally 是一个女孩,她有三个兄弟,每个兄弟都有两个姐妹。Sally 有多少个姐妹?答案应该是 1。让我们发送并检查。

    24910

    使用 Python 创建 AI 比你想象的轻松

    最后,有Python,正如开发人员所说,Python类似于Lisp。它是最流行的AI语言之一。为什么会这样?为什么开发人员用Python编写AI?让我们来看看。 为什么人们选择Python?...Python是在20世纪80年代末创建的。它的实现始于1989年。Python的哲学是非常有趣,因为它包括几个格言。显式而不是隐式,简单而不是复杂。Python创作者珍视美丽的设计和外观。...更重要的是,他们声称可读性是计数。Python有一个干净的语法和语法。它是自然和流利的。正如Python的开发人员所说,语言的目标是使用酷。...虽然它不是完美的科学编程语言,它的功能是有效的: 数据结构 类 灵活的函数调用语法 迭代器 嵌套函数 厨房水槽包括标准图书馆 伟大的科学图书馆 酷开源库(Numpy,Cython,IPython,MatPlotLib...这就是为什么如此多的企业家正在考虑把聊天机器人带到他们的网站。有很多方法可以做到这一点。您可以使用不同的语言和方法。您可以与专业的软件开发公司构建chatbots 。你也可以使用Python来构建它。

    1.1K20

    万能 Java

    不幸的是,工作中一个大型 Java 项目进展到中途时,我和同事一致认为这个程序应该用 Python 来写,也许有一天,我们会找到一个很好的借口来重写这个程序。...最后一个例子,我编写了一个简单的程序用于搭建一个 Web 界面。我觉得应该使用 Python,但是这样做的话,我需要找出如何利用 Python 的类库来为 Web 页面提供服务的办法。...这个时候,我开始意识到,随着我在第三方 Java 库上面的知识积累以及在实用工具方面的不断成长,使用其它语言的成本已经变得越来越高了。我需要把这些事情搞清楚再写一遍,而不是从已有的项目中复制和粘贴。...当然你也必须这样写: Map userIdMap = new HashMap(); 而不是: userIdMap = {} 如果从一个更大的情景来看,...和你在 Java 和 Python 中能找到的任何类库相比,这个类库不仅速度快而且质量更高。

    1K30

    一个程序员怎么才算精通python

    既然精通Python是不可能也是没有意义的事情,那么,为什么各个招聘要求里面,都要求精通Python呢?我觉得这都是被逼的。为什么这么说呢,且听我慢慢说来。...我的观点是,要求精通Python的岗位都是全职的Python开发,Python是他们的主要使用语言,要想和他们成为同事,你至少需要: 1....这段代码看起来没有任何问题,但是,执行将会出错,因为,username是一个位置参数,而不是一个关键字参数,我们在装饰器里面,用kwargs.get(‘username’)是获取不到username这个变量的...为了保证灵活性,我们可以通过inspect来修改装饰器的代码,如下所示: ? 装饰器还有很多知识,比如装饰器怎么装饰一个类,装饰器的使用场景,装饰器有哪些缺点,这些,你们都知道吗?...时间复杂度 我们都知道,在Python里面list是异构元素的集合,并且能够动态增长或收缩,可以通过索引和切片访问。那么,又有多少人知道,list是一个数组而不是一个链表。

    3.4K101

    Python异常处理小结

    图1 ? 图2 这里我想说一下,新手在看错误信息的时候,刚开始会很不习惯,一看到输出了一大堆红色的东西,头就大了。...图10 两个特殊的处理异常的简便方法 1. assert语句 第一个叫做断言语句,就是说我先声称有这样一个错误,如果确实有那就抛出异常,如果没有则直接跳过,继续执行其他的程序。...而Python中那些对象是支持“上下文管理协议”的呢?这个留给感兴趣的童鞋自己去阅读(提示:官方文档有)。下面举个简单的栗子(图12),来说明with语句的执行过程。 ?...这里无论是否出现异常,对于支持Python“上下文管理协议”的文件对象来说,Python最后会为关闭这个文件。为什么需要关闭文件?...讲到这里Python中的异常全部写完了,内容是比较多的,一下可能理解不了,那就先收藏以后看吧! 在Python中,异常的种类有很多种,但是都是以一个叫BaseException的类做为基类。

    1.3K70

    怎么样才算是精通 Python?

    既然精通Python是不可能也是没有意义的事情,那么,为什么各个招聘要求里面,都要求精通Python呢?我觉得这都是被逼的。为什么这么说呢,且听我慢慢说来。...为什么招聘要求精通Python 绝大部分人对Python的认识都有偏差,认为Python比较简单。...".format(username, food) print get_food('admin') 这段代码看起来没有任何问题,但是,执行将会出错,因为,username是一个位置参数,而不是一个关键字参数...时间复杂度 我们都知道,在Python里面list是异构元素的集合,并且能够动态增长或收缩,可以通过索引和切片访问。那么,又有多少人知道,list是一个数组而不是一个链表。...最后,对于一些同学的疑虑——招聘职位要求精通Python,我的回答是,他们并不奢望招到一个精通Python的人,他们只是想招到一个合格的工程师,而大部分的Python工程师,都,不,合,格!

    2.5K91

    有比Pandas 更好的替代吗?对比Vaex, Dask, PySpark, Modin 和Julia

    表格是存储数据的最典型方式,在Python环境中没有比Pandas更好的工具来操作数据表了。尽管Pandas具有广泛的能力,但它还是有局限性的。...一种工具可以非常快速地合并字符串列,而另一种工具可以擅长整数合并。 为了展示这些库有多快,我选择了5个操作,并比较了它们的速度。...尽管Julia是一种不同的语言,但它以python的方式做很多事情,它还会在合适的时候使用自己的技巧。 另一方面,在python中,有许多种类库完成相同的功能,这对初学者非常不友好。...它的作者声称,modin利用并行性来加快80%的Pandas功能。不幸的是,目前没发现作者声称的速度提升。并且有时在初始化Modin库导入命令期间会中断。...使得我之后花了一些时间杀死这些进程。 我喜欢modin背后的想法,我希望有一天能够弥补这些差距,从而使modin提升为值得考虑的替代方案。

    5.2K10

    Python会在2021年死去吗? Python 3.9最终版本的回顾

    Python的发展 Python是最流行和发展的编程语言之一。基于TIOBE评分,一家软件质量公司声称Python是一种积极进取的编程语言。到2020年,Python取代了Java,位居第二。...但是,排在第一位的仍然是c。这是Python在过去20年里取得的令人印象深刻的成就。 为什么Python不可阻挡?首先,Python在机器学习和深度学习方面工作得很好。...对于Python来说,这是一个巨大的进步,因为在2017年,Python超过了PHP,而c#在2018年被击败。Python是发展最快的编程语言。 第三,Python是开启数据科学之旅的最佳编程语言。...但是,我相信Python不会在2021年消亡,因为事实表明它是不可阻挡的。也许,在2021年,我们会遇到一个新的Python版本,Python4。...使用这个PEP,您可以使用内置集合类型(list和dict)作为泛型类型,而不是与typing中的大写类型(例如list或dict)对应。

    83020

    用正确方法对度量学习算法进行基准测试

    这里有一张随机图 有些论文对比对象不一致 ---- 为了说明一种新的算法优于现有的方法,保持尽可能多的参数不变是很重要的。这样,我们可以确定是新算法提高了性能,而不是一个无关的参数提高了性能。...但是在基准度量学习论文中并非如此: 1.网络架构并没有保持不变。...这是值得怀疑的,因为与之对比的方法使用的是 GoogleNet,这是一个不太强大的架构。因此,大部分性能提升可能来自网络架构的选择,而不是他们提出的方法。 2.图像增强并没有保持不变。...随着时间的推移,这两个因素可能会导致测试集的过度拟合。 所以让我们正确地对这些算法进行基准测试 ---- 这就是强大的基准测试被用到的地方。 ? 为什么要用这个工具? 透明性。...要查看这些实验和其他实验的配置文件,请参阅此电子表格,我将随时间添加到其中: https://docs.google.com/spreadsheets/d/1kiJ5rKmneQvnYKpVO9vBFdMDNx-yLcXV2wbDXlb-SB8

    65010

    学习 27 门编程语言的长处,提升你的 Python 代码水平

    这个建议还适用于那些在改善糟糕的网络安全状况的人:我们在面对天生不安全的语言时,采取的方法是改进操作系统的沙箱功能,逐步学习有更好的本地安全属性的语言,并改善现有语言的默认行为,而不是列举为什么从程序安全性的角度来看...我尽可能链接了维基百科的页面,而不是直接链接到语言的主页,因为维基百科经常会提供有趣的历史背景,当你为了教育目的学习一门新的编程语言,而不是直接用于实际应用时,这些背景值得去了解。...经过培训和早期的专业经验,我是一名嵌入式系统工程师,而 Rust 是我见过的第一种看起来有潜力缩减当前由 C 语言和自定义汇编代码所主导的生态位的新语言。...(学习 Eiffel 也让我明白了为什么“可验证的正确性”并不是大多数软件开发时的设计目标,因为可验证的正确软件实在不能很好地处理模糊性,并且完全不适用于那些你不清晰相关的约束条件却需要给自己留下足够的回旋余地...这种设计模式对应到 Python 层面,就是实例方法的显式 self 参数以及类方法的显式 cls 参数。

    72220

    Python类中的属性

    Python有私有属性和方法吗? 我们在Python类的方法和属性的上下文中使用这两个术语,公共和私有。 当属性是私有的时,你不应该使用它;当方法是私有的时,你不应该调用它。..._thoughts += [what] 而不是 self._thoughts += what,请参阅附录1。) 好的,我们有一个叫做 Me 的类,它代表了你——至少在你创建它时如此。...然而...看起来方法是完全受保护的,尽管不久前我声称在Python中,私有属性并不是完全受保护的。那么,到底发生了什么呢? 我们刚刚经历了名称修饰的工作原理。...脚注 ¹ 请记住,在Python中,方法是类的属性。因此,每当我提到属性的隐私性时,我指的是包括方法在内的属性的隐私性。 ² 名称改编有两个目的: 它提高了类的私有属性和方法的保护级别。...附录1 这个附录解释了为什么在编写Me类时,我写成了 self._thoughts += [what] 而不是 self.

    67530
    领券