Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Class_Numpy_Initialization - Fatal编程技术网

Python 在类的初始化中使用数组中的变量定义函数

Python 在类的初始化中使用数组中的变量定义函数,python,arrays,class,numpy,initialization,Python,Arrays,Class,Numpy,Initialization,我写了以下内容: 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])时,您传递的是数组,而不是在函

我写了以下内容:

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])
时,您传递的是数组,而不是在函数内部创建它,这似乎是在给定行
r=np.array([a,b,c])
时要做的

假设
x
ct
相同,尝试
P2=FourVector(99.9,1,2,3)
。否则,请确保您决定是调用参数
ct
还是
x
。您传入
ct
,但在函数中使用
x

您的类也有名称问题,您将其声明为
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)
另外请注意,由于您先分配
r
,然后分配
s=r
,因此您可以直接执行
self.s=np.array([a,b,c])
,除非您有理由单独保留
r