【发布时间】:2022-01-18 21:08:11
【问题描述】:
here 发布了一个非常相似的问题,但没有可接受的答案,没有代码示例,而且我不太喜欢那里提供的唯一答案所建议的使用外部库的想法。
以下代码允许定义只读实例属性:
class Point:
def __init__(self, x, y):
self._x = x
self._y = y
@property
def x(self):
return self._x
@property
def y(self):
return self._y
但我也想验证用户输入。我想验证x 和y 的类型是否正确。
这样做最pythonic/优雅的方式是什么?如果我提供设置器,则属性不再是只读的。
在构造函数中执行输入验证是唯一的方法吗?
【问题讨论】:
标签: python validation oop properties