在拥有对象上使用getter方法无法实现__get__
无法实现的目标?
我可以考虑更好地分离关注点,但我想还有更多。
答案 0 :(得分:5)
它用于描述符。它们有点像Python的getter / setter和属性,但更好。这就是Python实现统一访问原则的方式。 Python Descriptors
答案 1 :(得分:1)
Getter方法很难看。这样做更清楚:
obj.foobar
大于
obj.get_foobar()
其次,它用于实现staticmethod,classmethod和regular方法。所有这些行为都略有不同,__get__
方法用于实现它们。