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

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

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

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

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

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

代码语言:python
复制
class MyClass:
    def __init__(self, param1):
        self.param1 = param1

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

代码语言:python
复制
my_instance = MyClass("value1")

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

代码语言:python
复制
my_instance = MyClass("value1", "value2")

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

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

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

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

相关·内容

关于现代包管理器深度思考——为什么现在更推荐 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 ../..

2.8K20

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

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

1.2K10

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

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

3.1K101

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

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

98120

怎么样才算是精通 Python

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

2.4K91

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

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

61430

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

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

54910

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

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

78920

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

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

4.5K10

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

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

39910

Python异常处理小结

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

1.2K70

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

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

60620

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)对应。

76520

Python属性

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

16030

万能 Java

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

89830

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

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

62770

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

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

27720

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

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

31410

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

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

79630

len(x) 击败 x.len(),从内置函数看 Python 设计思想

但是,有些语言并不是这样,例如在 Java 中,字符串一个求长度方法,其它也有自己求长度方法,它们无法共用。每次使用时,通过或实例来调用。...这就引出本文最想讨论一个问题来:为什么 Python 要设计成 len(x) 这种前缀表达,不是 x.len() 这样后缀表达呢?...它告诉了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法。...求长度方法就不能是一种独立存在对象么?它之所以存在,是因为“对象”存在,不是因为某个才存在啊。...所以,想说,len(x) 击败 x.len(),这还体现了 Python 对世界本质洞察 。 求某个对象长度,这种操作独立于对象之外存在,并不是该对象内部所有的一种属性或功能。

66530
领券