在ipython中提供“缺少1个必需的位置参数”的简单类定义

2024-05-29 02:47:16 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的班级档案(叫做我的类.py)公司名称:

class wave:
    def __init__(self, name = "", xdelta = 1)
        self.name = name
        self.xdelta = xdelta

    def loadbinary(bpath):
        print(bpath)

目前,我已经将其他细节(加载二进制文件代码等)剥离出来,当我运行以下代码时,我得到一个错误输出:

^{pr2}$

错误:

TypeError: loadbinary() missing 1 required positional argument: 'bpath'

我尝试过将loadbinary定义更改为“loadbinary(self,bpath)”,但是它给出了相同的错误。我也尝试过用“pass”替换“print”代码,让它什么也不做,但这仍然给了我错误。我还尝试运行以下功能:

a.loadbinary(bpath='TEST')

…但这会将错误改为:loadbinary()缺少1个必需的位置参数:“self”

在这一点上,我不知道发生了什么。这个类定义是基本的,并不是从其他类继承的,从我所能知道的是遵循python文档中显示的类的代码:https://docs.python.org/2/tutorial/classes.html

我使用的是python3.4.3,这在ipython3.1.0中发生,运行在PyCharm 4.5.1中。如果我在iPython 3.1.0中直接在命令提示符下(OS X终端)运行它,我会得到以下错误输出:

unbound method loadbinary() must be called with wave instance as first argument (got str instance instead)

Tags: instance代码nameself定义def错误档案
1条回答
网友
1楼 · 发布于 2024-05-29 02:47:16

你从来没有实例化过这个类。请执行以下操作:

class wave:
    def __init__(self, name = "", xdelta = 1)
        self.name = name
        self.xdelta = delta

    def loadbinary(self, bpath):
        print(bpath)

或者。。。在

^{pr2}$

然后。。。在

import myclasses
a = myclasses.wave() # the brackets instantiate the class
a.loadbinary('TEST')

相关问题 更多 >

    热门问题