Python 在具有_插槽的类上按名称设置字段__
我有一个python类,它是使用Python 在具有_插槽的类上按名称设置字段__,python,slots,Python,Slots,我有一个python类,它是使用定义的 class TheClass: __slots__=['foo','bar'] 我想按名称设置它的值,如下所示 the_object=TheClass() for x in ['foo','bar']: the_object[x]=x+x 这可能吗?与一般情况没有区别,您可以使用和: 您将获得: >>> the_object.foo 'foofoo' 与一般情况没有区别,您可以使用和: 您将获得: >>>
定义的
class TheClass:
__slots__=['foo','bar']
我想按名称设置它的值,如下所示
the_object=TheClass()
for x in ['foo','bar']:
the_object[x]=x+x
这可能吗?与一般情况没有区别,您可以使用和:
您将获得:
>>> the_object.foo
'foofoo'
与一般情况没有区别,您可以使用和:
您将获得:
>>> the_object.foo
'foofoo'
与一般情况没有区别,您可以使用和:
您将获得:
>>> the_object.foo
'foofoo'
与一般情况没有区别,您可以使用和:
您将获得:
>>> the_object.foo
'foofoo'
出于好奇,你为什么要使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我认为它有助于理解代码您可以使用setattr()
,或者如果您想不太清楚,可以使用插槽描述符:类。但你没有,不是真的。@yigalirani:不要。只有在需要节省内存时才使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
;e、 g.当你有大量的类
实例时。@yigalarani:Python是动态类型的,它的许多最好的特性都是围绕这个事实构建的。试图强迫它是另一种情况,这意味着你给自己带来了两个世界中最糟糕的结果。出于好奇,你为什么要使用\uuuuuuu slots\uuuuuuuuuu
?我喜欢静态键入的想法-我想提前知道我的类的数据成员是什么。我认为它有助于理解代码您可以使用setattr()
,或者如果您想不太清楚,可以使用插槽描述符:类。但你没有,不是真的。@yigalirani:不要。只有在需要节省内存时才使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
;e、 g.当你有大量的类
实例时。@yigalarani:Python是动态类型的,它的许多最好的特性都是围绕这个事实构建的。试图强迫它是另一种情况,这意味着你给自己带来了两个世界中最糟糕的结果。出于好奇,你为什么要使用\uuuuuuu slots\uuuuuuuuuu
?我喜欢静态键入的想法-我想提前知道我的类的数据成员是什么。我认为它有助于理解代码您可以使用setattr()
,或者如果您想不太清楚,可以使用插槽描述符:类。但你没有,不是真的。@yigalirani:不要。只有在需要节省内存时才使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
;e、 g.当你有大量的类
实例时。@yigalarani:Python是动态类型的,它的许多最好的特性都是围绕这个事实构建的。试图强迫它是另一种情况,这意味着你给自己带来了两个世界中最糟糕的结果。出于好奇,你为什么要使用\uuuuuuu slots\uuuuuuuuuu
?我喜欢静态键入的想法-我想提前知道我的类的数据成员是什么。我认为它有助于理解代码您可以使用setattr()
,或者如果您想不太清楚,可以使用插槽描述符:类。但你没有,不是真的。@yigalirani:不要。只有在需要节省内存时才使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
;e、 g.当你有大量的类
实例时。@yigalarani:Python是动态类型的,它的许多最好的特性都是围绕这个事实构建的。试图强迫它成为另一种情况,意味着你给了自己两个世界中最糟糕的。