Skip to main content
 首页 » 编程设计

python之返回匿名类或对象用作 'struct' 更好吗

2025年05月04日9zlslch

考虑到内存使用、时钟周期或良好的 Pythonic 风格,这样做更好吗:

def func(): 
    class A: 
       x = 10 
       y = 20 
    return A 

或者这个

def func(): 
    o = object() 
    o.x = 10 
    o.y = 20 
    return o 

还是别的?我不想返回字典,因为我不喜欢必须使用方括号。

请您参考如下方法:

我喜欢使用一种特殊的方式来制作我发现的 dict 子类 here .看起来像:

class Struct(dict): 
    """Python Objects that act like Javascript Objects""" 
    def __init__(self, *args, **kwargs): 
        super(Struct, self).__init__(*args, **kwargs) 
        self.__dict__ = self 

这个对象可以这样使用:

o = Struct(x=10) 
o.y = 20 
o['z'] = 30 
print o.x, o['y'], o.z 

可以以可交换的方式使用不同类型的访问权限。