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

関数内で配列を作成するのではなく、配列を渡していますr=np.array([a,b,c])

xが と同じであると仮定してct、 を試してくださいP2 = FourVector(99.9,1,2,3)ctそれ以外の場合は、パラメーターまたはのどちらを呼び出すかを必ず決定してくださいx。渡しますが、関数内でct使用xします。

また、クラスに名前の問題があり、これを as として宣言します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=rself.s=np.array([a,b,c])r

于 2013-11-14T17:53:03.883 に答える