python __get__ 方法的用途是什么?
什么是__get__
,它能做到哪些用拥有对象的getter方法做不到的事情呢?
我能想到的是,它可以更好地分离不同的功能,但我觉得还有更多的好处。
2 个回答
1
获取器方法看起来不太好。直接这样做会更清楚:
obj.foobar
而不是这样:
obj.get_foobar()
其次,它用于实现静态方法、类方法和普通方法。这些方法的行为稍有不同,而 __get__
方法就是用来实现它们的。
5
这个东西是用来处理描述符的。描述符有点像Python中的获取器(getters)和设置器(setters),还有属性,但更强大。它是Python实现统一访问原则的一种方式。