gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:32:03 29 4
gpt4 key购买 nike

我写了以下内容,

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])的情况下执行此操作。

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

您的类也存在名称问题,您将其声明为FV,但您尝试将其用作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

关于python - 在类初始化时使用数组中的变量定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984776/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com