Python程序不工作..主要部分一直显示错误
我的程序不断向我显示对象部分中缺少z和d的错误,我不知道如何更正它,我不断尝试,但更多的n个错误不断出现Python程序不工作..主要部分一直显示错误,python,oop,Python,Oop,我的程序不断向我显示对象部分中缺少z和d的错误,我不知道如何更正它,我不断尝试,但更多的n个错误不断出现 class point: def __init__(self,z,d): self.x = z self.y = d def display(self,z,d): self.x = self.z self.y = self.d def setX(self, z): self.x = z
class point:
def __init__(self,z,d):
self.x = z
self.y = d
def display(self,z,d):
self.x = self.z
self.y = self.d
def setX(self, z):
self.x = z
def setY(self, d):
self.y = d
def getX(self):
return self.x
def getY(self):
return self.y
def show(self):
print(self.x)
print(self.y)
p1 = point() //error
print("Point P1:")
p1.show()
print("Updated value:")
p1.display(5, 6)
p1.setX(9)
p1.setY(4)
p1.show()
print("Point P2:")
p2=point()
p2.setX(9)
p2.setY(4)
p2.show()
print("Updated value:")
p2.display(6, 3)
p2.show()
回溯(最近一次呼叫最后一次):
文件“P:\xxxyyy.py”,第29行,在
p1=点()//错误
TypeError:\uuuu init\uuuuu()缺少2个必需的位置参数:“z”和“d”
不要忘记在构造函数中传入z
和d
,例如:
Traceback (most recent call last):
File "P:\xxxyyy.py", line 29, in <module>
p1 = point() //error
TypeError: __init__() missing 2 required positional arguments: 'z' and 'd'
另外,在display
功能中,您尝试将self.x
设置为self.z
,将self.y
设置为self.d
self.z
和self.d
不存在(self意味着它应该是类属性,而不是),您应该使用函数的输入参数:
p1 = point(1,2)
不要忘记在构造函数中传入
z
和d
,例如:
Traceback (most recent call last):
File "P:\xxxyyy.py", line 29, in <module>
p1 = point() //error
TypeError: __init__() missing 2 required positional arguments: 'z' and 'd'
另外,在display
功能中,您尝试将self.x
设置为self.z
,将self.y
设置为self.d
self.z
和self.d
不存在(self意味着它应该是类属性,而不是),您应该使用函数的输入参数:
p1 = point(1,2)
首先解决这个问题,您正在使用它接收的两个新变量来更新display
,因此我们只是将这些变量转换为非self.z
/self.d
class point:
def __init__(self,z,d):
self.x = z
self.y = d
def display(self,z,d):
self.x = z #not self.z
self.y = d #not self.d
def setX(self, z):
self.x = z
def setY(self, d):
self.y = d
def getX(self):
return self.x
def getY(self):
return self.y
def show(self):
print(self.x)
print(self.y)
使用它需要的值创建您的实例_ini__(self,z,d)
需要一个z和d
值
p1 = point(1,2)
print("Point P1:")
p1.show()
如果p1.display
正在将值更新为5,6
,那么为什么要用setX
/setY
再次更新它们,这与您正在进行的z=5,d=6
那么z=9 d=4
然后,您只需对p2
首先解决这个问题,您正在使用它接收的两个新变量来更新display
,因此我们只是将这些变量转换为非self.z
/self.d
class point:
def __init__(self,z,d):
self.x = z
self.y = d
def display(self,z,d):
self.x = z #not self.z
self.y = d #not self.d
def setX(self, z):
self.x = z
def setY(self, d):
self.y = d
def getX(self):
return self.x
def getY(self):
return self.y
def show(self):
print(self.x)
print(self.y)
使用它需要的值创建您的实例_ini__(self,z,d)
需要一个z和d
值
p1 = point(1,2)
print("Point P1:")
p1.show()
如果p1.display
正在将值更新为5,6
,那么为什么要用setX
/setY
再次更新它们,这与您正在进行的z=5,d=6
那么z=9 d=4
然后你只需为
p2
重复这些小错误,错误是什么?当询问产生异常的代码时,请在问题中包含完整的回溯:复制并粘贴它,然后将其格式化为代码。错误是什么?当询问产生异常的代码时,请在问题中包含完整的回溯:复制并粘贴,然后将其格式化为代码。。。。或者在方法定义中给出这些参数。是的!我只是假设他打算使用函数参数,因为它们存在并且匹配到self.z
和self.d
。无论哪种方式更有意义,都是更好的方式我试着把1,2放进去,它也不起作用还有我自己写的东西,就像你告诉我的那样。但由于它显示错误,所以我更改了它(愚蠢的我duh)。。。或者在方法定义中给出这些参数。是的!我只是假设他打算使用函数参数,因为它们存在并且匹配到self.z
和self.d
。无论哪种方式更有意义,都是更好的方式我试着把1,2放进去,它也不起作用还有我自己写的东西,就像你告诉我的那样。但是因为它显示了错误,所以我更改了它(愚蠢的我duh)谢谢你的解释。。关于set n get,我的任务是用两种方式来做。因此,我使用了显示n也设置n获取功能如果您选中“已解决”复选框,则P将非常感谢您的问题:)感谢您的解释。。关于set n get,我的任务是用两种方式来做。因此,我使用了显示n也设置n获取功能如果这解决了您的问题,如果您选中“已解决:”,则P将不胜感激。)