【问题标题】:I am new to python i tried to run this fancy decorators code我是 python 新手,我试图运行这个花哨的装饰器代码
【发布时间】:2020-09-21 16:56:22
【问题描述】:
class Square:
    def _init_(self,side):
        self._side = side
    @property
    def side(self):
        return self._side
    @side.setter
    def side(self,value):
        if value >= 0:
            self._side = value
        else:
            print("error")
    @property
    def area(self):
        return self._side **2
    @classmethod
    def unit_square(cls):
        return cls(1)
s = Square(5)
print(s.side)
print(s.area)

但我收到错误(s = Square(5) TypeError: Square() 没有参数)我无法弄清楚

【问题讨论】:

标签: python-3.x pycharm decorator


【解决方案1】:

init 方法应该有双下划线(__)。把方法改成__init__

def __init__(self, side):
    self._side = side

参考:https://dbader.org/blog/python-dunder-methods

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 1970-01-01
    • 2022-01-02
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2021-04-04
    • 1970-01-01
    相关资源
    最近更新 更多