函数return一个类对象,具体程序如下:
class A:
X: int
def a(x,y)-> A:
x = x
y = y
return A(X=x+y)
print(a(1,2))
###############################
TypeError: A() takes no arguments
怎样做可以正确赋值给A类中的X?
class A没有构造函数
class A:
def __init__(self, X: int):
self.X = X
X: int
def a(x, y) -> A:
x = x
y = y
return A(X=x + y)
print(a(1, 2))
如果类A中的X是类变量的话,代码这么写:
class A:
# X是类变量,所有实例共享
X: int
def __init__(self, X: int):
A.X = X
def a(x, y) -> A:
x = x
y = y
return A(X=x + y)
c = a(1, 2)
d = a(2, 3)
print(c.X) # 返回值为5
print(d.X) # 返回值为5
有帮助的话,请采纳~
以下答案引用自GPT-3大模型,请合理使用:
。
答:可以将函数a修改下,增加两个参数传递到A类中:
class A:
def __init__(self,x,y):
self.x=x
self.y=y
self.X=self.x+self.y
def a(x,y)-> A:
return A(x,y)
print(a(1,2))
# 打印输出:<__main__.A object at 0x0000029D93588978>
如果我的回答解决了您的问题,请采纳我的回答