python - 如何使切片列表@property在python中调用它的setter
问题描述
如何将值分配给@property
某个类的一部分,恰好是list
or numpy.ndarray
,以便调用它的 setter?现在看来,对切片的赋值只调用 getter。在这种情况下,我无法理解如何在引擎盖下处理切片。示例代码:
class MyClass:
def __init__(self, a):
self.a = a
self._a = self.a
@property
def a(self):
return self._a
@a.setter
def a(self, v):
print("I'm called")
self._a = v
A = MyClass([1, 2, 3])
# prints "I'm called"
A.a = [4, 5, 6]
# prints "I'm called"
A.a[1] = 0
# does not print anything
如何进行A.a[1] = 0
打印"I'm called"
?
解决方案
推荐阅读
- android - 绑定的服务方法可以在 Activity 中访问,即使在它被取消绑定和停止之后
- python - 在 PyCharm 中添加代码模板 - 可以吗?
- kaggle - 无法加载 Resnet
- c# - MVC 在其他控制器中使用 DbContext
- ssl - 应用程序请求路由 IIS 负载平衡 HTTPS 设置导致 301 重定向
- java - Apache 通用 CSV 格式化程序:IOException: invalid char between encapsulated token and delimiter
- r - 如果在 % 的情况下为零,则删除类别的所有行
- css - Css剪辑路径之间没有间隙
- angular - NGRX 效果/Firebase (Firestore) 错误
- javascript - 粘贴到 contentEditable div 时如何保留 onclick