如何解决TypeError:函数为参数获取了多个值

2024-06-09 19:15:50 发布

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

我在一个类中为我创建的驱动程序编写了一些代码,弄不明白为什么我在调用set\u voltage\u send\u命令时会出现这个错误。以下是导致错误的确切代码: TypeError:_send_command()为参数“value”获取了多个值

    def _send_command(command, value=None, value_type=None, minimum=None, maximum=None):
        if value:
            raise_for_type(value, value_type)
            raise_for_range(value, minimum=minimum, maximum=maximum)
            message = f"{command}{value}"
        else:
            message = command
        self._send(message)
        self.raise_for_system_error()
    def set_voltage(self, voltage: float):
        command = f"SOUR:VOLT:LEV:IMM:AMPL "
        self._send_command(command, value=voltage, value_type=float, minimum=self.VOLT_MIN, maximum=self.VOLT_MAX)
        return percent_error(self.get_voltage(), voltage) < 5

Tags: 代码selfnonesendmessageforvaluetype
1条回答
网友
1楼 · 发布于 2024-06-09 19:15:50

您忘记了类方法所需的self参数:

def _send_command(self, command, value=None, value_type=None, minimum=None, maximum=None):
    if value:
        raise_for_type(value, value_type)
        raise_for_range(value, minimum=minimum, maximum=maximum)
        message = f"{command}{value}"
    else:
        message = command
    self._send(message)
    self.raise_for_system_error()

相关问题 更多 >