4

为什么__dict__和例如__unicode__不能都可调用或相反?

Django 告诉我将 unicode 返回设置为模型上的方法,例如:

class Obj(models.Model):
    def __unicode__(self):
        return 'hey'

>>> x = Obj()
<__main__.Obj object at 0x100703e10>
>>> x.__unicode__()
u'hello'
>>> x.__dict__
{}

这似乎是一个奇怪的差异,谁能给我解释一下?

4

2 回答 2

4

__foo__约定用于 Python 中的方法和不可调用的属性。__unicode__是方法,__dict__不是。

于 2013-05-13T15:15:21.897 回答
0

__dict__是实例的字典,而不是方法。

于 2013-05-13T15:13:26.607 回答