__fields__在python中做什么?

时间:2019-12-20 08:58:17

标签: python

我最近遇到了一个python片段,它将创建一个不同的对象模型。该代码的一部分由__slots____fields__组成。

class Reptor(object):
    __slots__ = __fields__ = 'type', 'code', 'deviated_angle'

__slots__将创建元组对象而不是字典对象,这会最小化对象大小并为其增加不变性。但是我不明白这里的__fields__部分是什么?

并且__fields__中已经使用了__repr__

def __repr__(self):
    fields = ', '.join(repr(getattr(self, f)) for f in self.__fields__)
    return f'(type(self).__name__)({fields})'

1 个答案:

答案 0 :(得分:1)

__slots__ = __fields__ = 'type', 'code', 'deviated_angle'

__fields__也在此处设置。这基本上是以下简称:

__fields__ = 'type', 'code', 'deviated_angle'
__slots__ = __fields__

__fields__在Python中没有特殊含义,因此它可能被应用程序的其他部分使用。