我正在尝试编写一个包装Python函数,该函数接受可变数量的位置参数,然后将这些位置参数处理并从库中馈送到主函数中。我在这里创建了一个最小的示例,该示例显示了我当前面临的问题:
class bar :
def __init__(self, *args) :
print(args)
def foo(self,*args) :
print(args)
a = bar('name',123,'def')
bar.foo('name',123,'def')
输出为:
('name',123,'def')
(123,'def')
似乎self
中的foo()
被分配了'name',而__init__()
中没有被分配。有办法解决吗?
答案 0 :(得分:1)
您应该在实例bar.foo
上调用方法时,正在类a.foo
上调用方法。
a.foo('name',123,'def')