社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python程序不工作..主要部分显示错误

Sawako Kuronuma • 6 年前 • 1651 次点击  
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'
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30645
 
1651 次点击  
文章 [ 2 ]  |  最新文章 6 年前
vash_the_stampede
Reply   •   1 楼
vash_the_stampede    6 年前
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) 

首先修复此问题,您正在更新 display 使用两个新的变量,所以我们只是将这些变量 self.z / self.d

p1 = point(1,2)
print("Point P1:")
p1.show()

使用所需的值创建实例 __ini__(self, z, d) 需要一个 z and d 价值

print("Updated value:")
p1.display(5, 6)
p1.setX(9)
p1.setY(4)
p1.show()

如果 p1.display 正在将值更新为 5,6 那为什么还要用 setX / setY 你赚了很多钱 z=5, d=6 然后 z=9 d=4

然后重复这些小错误 p2

Aquarthur
Reply   •   2 楼
Aquarthur    6 年前

别忘了传过去 z d 在构造器中,例如:

p1 = point(1,2)

此外,在 display 函数,您尝试设置 self.x self.z self.y self.d . 自我Z 自我D 不存在(self意味着它应该是类属性,而不是类属性),您应该使用函数的输入参数:

self.x = z
self.y = d