python-3.x - 我是 python 新手,我试图运行这个花哨的装饰器代码
问题描述
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() 没有参数)我无法弄清楚
解决方案
该init
方法应该有双下划线(__
)。将方法更改为__init__
def __init__(self, side):
self._side = side
推荐阅读
- datatables - 如何替换“。” 在 0s 的 dgCmatrix 中
- python - df.where 必要条件和次要条件
- python-3.x - 我无法在 pycharm 和 spyder 上运行 streamlit。我在窗口上运行最新的 python 版本。当我尝试代码时,它说语法无效
- reactjs - 反应:未找到模块:无法解析 'C:\Users\ 中的 'react-firebase'hooks'
\Web 开发\Firechat\firechat\src' - django - 在 Nginx 和 django 上加载网站时出错
- python - 如何不在 Python 复数中打印 j?
- excel - 如果单元格为空,粘贴,否则,转到下一个空白单元格并粘贴
- postgresql - PostgreSQL 中的批量插入非常慢(F#)
- javascript - 按钮的 innerText 在重新加载时不会改变
- python - 键盘中断后无法正常关闭 Asyncio 应用程序