Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-在子类方法定义中指定精确参数_Python_Python 3.x_Inheritance_Warnings_Variadic Functions - Fatal编程技术网

Python-在子类方法定义中指定精确参数

Python-在子类方法定义中指定精确参数,python,python-3.x,inheritance,warnings,variadic-functions,Python,Python 3.x,Inheritance,Warnings,Variadic Functions,Python中是否有任何方法可以在父类方法中指定变量(未知)数量的参数,并在其子类中指定实际(实)参数,而不会得到警告?下面是一个让我理解的示例(我使用的是Python 3.5): 已更新 我只在我的IDE Pycharm 4.5中收到警告,这是由检查“类必须实现所有抽象方法”引起的。您可以在子类中尝试以下操作: class SubClass1(SuperClass): def method(self, *args): try: one, two,

Python中是否有任何方法可以在父类方法中指定变量(未知)数量的参数,并在其子类中指定实际(实)参数,而不会得到警告?下面是一个让我理解的示例(我使用的是Python 3.5):

已更新


我只在我的IDE Pycharm 4.5中收到警告,这是由检查“类必须实现所有抽象方法”引起的。您可以在子类中尝试以下操作:

class SubClass1(SuperClass):
    def method(self, *args):
        try:
            one, two, three = args
        except ValueError:
            print('bad number of args')

话虽如此,如果您想在IDE中实现代码完成功能,这可能没有帮助。

最重要的信息不是您收到了警告,它什么也没说。最重要的是你收到的一条信息,它描述了问题所在。您应该将该警告消息添加到问题中。对不起,我忘记附加警告错误:)。由于我不知道如何更新这个问题,我将注释粘贴到这里:
方法“subclass 1”的签名。method()与类“SuperClass”中基方法的签名不匹配。
。谢谢@Dawiderency!谢谢通过单击问题下方的
edit
链接,您可以简单地更新您的问题:)您是否缺少
超类中的
pass
语句?我在使用Python 3.5.0时没有收到任何警告。这个警告是来自Python命令行还是您的IDE?我在Python3.4.3中也没有收到任何警告。问题是我正在创建一个库,我不希望库的用户每次从超类继承时都检查参数的数量。但是非常感谢,我没有想到这个解决方案,它非常酷:D。
Signature of method 'SubClass1.method() does not match signature of base method in class 'SuperClass'
class SubClass1(SuperClass):
    def method(self, *args):
        try:
            one, two, three = args
        except ValueError:
            print('bad number of args')