这样啊812 2022-01-17 23:28 采纳率: 70%
浏览 21
已结题

面向对象中的属性——方法变属性

为什么这里出错了?

img


img

  • 写回答

1条回答 默认 最新

  • 关注

    img

    @property  
    def area(self):
        return self.width*self.height
    

    多了一层缩进,成了 def init() 的子函数

    class Rect():
        def __init__(self,width,height):
            self.width = width
            self.height = height
    
        # 这个要减少一层缩进放在def __init__函数之外
        @property
        def area(self):
            return self.width*self.height
    
    rect = Rect(800,600)
    print(rect.area)
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 修改了问题 1月17日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)