为了账号安全,请及时绑定邮箱和手机立即绑定

python中如何设置继承对象

python中如何设置继承对象

慕斯王 2023-10-18 15:32:15
我编写的简单代码遇到问题类点有 x 和 y 值类正方形(Point)包括 4 个点:p1,p2,p3,p4我正在尝试使用 sq1.p1.set_x(num1) 更新 p1 的 x 值,但失败了。我尝试使用公共定义但也失败了我的问题是谁的?谢谢class Point:    def __init__(self,x=0,y=0):        self.__x = x        self.__y = y               def get_x(self):        return self.__x        def get_y(self):        return self.__y        def set_x(self,x=0):        self.__x = x        def set_y(self,y=0):        self.__y = y  class Square (Point):    def __init__(self,p1,p2,p3,p4):        self.__p1 = p1        self.__p2 = p2        self.__p3 = p3        self.__p4 = p4                def get_p1(self):        return self.__p1        def get_p2(self):        return self.__p2        def get_p3(self):        return self.__p3        def get_p4(self):        return self.__p4        def set_p1(self,p1):        self.__p1 = p1        def set_p2(self,p2):        self.__p2 = p2        def set_p3(self,p1):        self.__p3 = p3        def set_p4(self,p4):        self.__p4 = p4def main():    p1 = Point(2,0)    p2 = Point(2,2)    p3 = Point(0,2)    p4 = Point(0,0)    sq1 = Square(p1,p2,p3,p4)    sq1.p1.set_x(4) # this line failingif __name__ == "__main__":    main()    
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

代替

    sq1.p1.set_x(4) # this line failing

    sq1.get_p1().set_x(4)

这是因为类Square没有属性p1(它有__p1属性,但没有p1)。


查看完整回答
反对 回复 2023-10-18
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信