python - Python程序不工作..主要部分一直显示错误
问题描述
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()
我的程序不断向我显示对象部分中缺少 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'
解决方案
不要忘记传入z
和传入d
构造函数,例如:
p1 = point(1,2)
此外,在display
函数中,您尝试设置self.x
toself.z
和self.y
to self.d
。self.z
并且self.d
不存在(self 意味着它应该是一个类属性,但它不是),您应该改用函数的输入参数:
self.x = z
self.y = d
推荐阅读
- type-conversion - 将间隔列从 teradata 导入 SQL Server
- c++ - 我写了一个快速排序代码,逻辑看起来很正确,但控制台上没有输出
- android - 为 Native Android Project 构建 apk 时目标不兼容
- sql - 以下递归查询的最佳实现是什么?
- python - 如何在 Google Colaboratory 中使用 IBM python 模块“pixiedust”?
- gitlab - 如何正确沟通 CI/CD 管道中的不同阶段
- airflow - 我们如何将架构和表更改部署为 Airflow 工作流程的一部分?
- javascript - 如何仅使用围绕变量均值生成的钟形曲线对从 1 到 10 的钟形曲线上的数组中的对象进行评分,增量为 0.5
- excel - 有没有办法使用宏在两个不同的行之间切换
- bamboo - 在 Bamboo 服务器中发送构建开始通知