如何在python类中对同类属性进行分组

时间:2019-01-09 06:54:56

标签: python-3.x

使用Python创建一个具有一些属性的类,这些属性可以分为同类。 在其他一些语言(例如C)中,我喜欢使用结构对属于同一“主题”的字段进行分组,以保持代码整洁。

例如,假设我要对与程序配置相关的所有字段进行分组,例如:文件路径用户名版本,等等...在 config 属性下。

伙计们,您将如何/使用什么来管理此类数据?

这里摘录了我写的但不起作用的类,因为它不受支持。

...
...
self.config.filepath = ''
self.config.username = ''
self.config.version = ''
...
...

面对这种情况,哪种更优雅的方法或最佳实践是什么?

非常感谢所有人。

1 个答案:

答案 0 :(得分:0)

有几种不同的方法:

使用dict

class MyClass:
    def __init__(self):
        self.config = {}
        self.config['filepath'] = ''
        self.config['username'] = ''
        self.config['version']= ''

使用argparse.Namespace

from argparse import Namespace

class MyClass:
    def __init__(self):
        self.config = Namespace(filepath='', username='', version='')

使用types.SimpleNamespace

from types import SimpleNamespace

class MyClass:
    def __init__(self):
        self.config = SimpleNamespace(filepath='', username='', version='')