1

我写了以下内容,

import numpy as np
class FV:
    def __init__(self,x=0,a=0,b=0,c=0):
        r=np.array([a,b,c])
        self.t=x
        self.s=r

但它告诉我:

__init__() got an unexpected keyword argument 'r'

当我输入P2 = FourVector(ct=99.9, r=[1,2,3])

4

1 回答 1

2

您正在传递数组而不是在函数内部创建它,您似乎想要在给定 line 的情况下这样做r=np.array([a,b,c])

假设x是一样的ct,试试P2 = FourVector(99.9,1,2,3)。否则,请确保您决定是否要调用参数ctx. 您传入ctx在函数内部使用。

您的班级也有名称问题,您声明为FV但您尝试使用 as FourVector。试着对你的名字更小心一点!

给定一些关于它的决定,您的代码应如下所示:

import numpy as np
class FourVector:
    def __init__(self,ct=0,a=0,b=0,c=0):
        r=np.array([a,b,c])
        self.t=ct
        self.s=r

然后你可以称之为

P2 = FourVector(99.9,1,2,3)

另请注意,由于您分配rthen s=r,您可以self.s=np.array([a,b,c])直接执行,除非您有某些理由单独保留r

于 2013-11-14T17:53:03.883 回答