在Python中初始化具有不同参数和不同参数的类

时间:2018-02-09 05:23:25

标签: python

所以我基本上想要运行一个类,但初始化会根据我提供的参数数量而有所不同。

目前该课程是这样运行的,

def __init__(self, *args): 
    if len(*args)==4:
        x=args[0]
        y=args[1]
        v=args[2]
        t=args[-1]
    if len(*args)==2:
        vx=args[0]
        vy=args[-1]
    if len(*args)==3:
        vx=args[0]
        vy=args[1]
        theta=args[-1]

    self.x=x
    self.y=y
    self.v=v
    self.t=t
    self.vx=vx
    self.vy=vy
    self.theta=theta

但是,len(* args)只接受一个位置参数,如果我输入Class(x,y,t,v),它就不会运行。我想知道我应该如何开始初始化,以便我可以有不同的参数。

根据给出的任务,我不应该分开课程。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在if语句中将*args替换为args

if len(args)==3:

*args有点占位,args是你关心的实际元组