python-3.x - @property - 方法调用逻辑
问题描述
这是代码:
class Duck():
def __init__(self,input_name):
self.__name = input_name
@property
def name(self):
print('inside the getter')
return self.__name
@name.setter
def name(self):
print('inside the setter')
self.__name = input_name
fowl = Duck("Howard")
所以,“点”是对象和方法之间的连接。也就是说,type fowl.name 会得到“Howard”,因为对象名为 name 并返回了 self.__name。
我的问题是如果我输入 fowl.name = "cat",为什么我不会从 @property 得到任何东西,getter。程序如何知道它是二传手?因为我用了“=”?
解决方案
推荐阅读
- c++ - 如何知道对象文件中符号的可见性
- c++ - jpeg图像的灰度过滤器没有正确舍入值?
- r - 在 Jupyter Notebook 中将 R 作为内核安装时出现问题
- twilio - 执行时不断收到 Twilio 错误消息 90100,但结果有效
- google-chrome-extension - 如何使用 Chrome 扩展程序获得即时 CSS 更改?
- r - 合并计算值
- python - Beautifulsoup 刮不显示一切
- php - Elastic Beanstalk 中的 PHP Mailer 类无法识别
- angular - Angular:9.0.4:“可观察”类型上不存在属性“地图”
' - reverse-engineering - 使用 Ghridra 反汇编 bin 文件