什么是python __get__方法适合?

时间:2011-02-17 13:09:50

标签: python

在拥有对象上使用getter方法无法实现__get__无法实现的目标?

我可以考虑更好地分离关注点,但我想还有更多。

2 个答案:

答案 0 :(得分:5)

它用于描述符。它们有点像Python的getter / setter和属性,但更好。这就是Python实现统一访问原则的方式。 Python Descriptors

答案 1 :(得分:1)

Getter方法很难看。这样做更清楚:

obj.foobar

大于

obj.get_foobar()

其次,它用于实现staticmethod,classmethod和regular方法。所有这些行为都略有不同,__get__方法用于实现它们。