使用Python创建一个具有一些属性的类,这些属性可以分为同类。 在其他一些语言(例如C)中,我喜欢使用结构对属于同一“主题”的字段进行分组,以保持代码整洁。
例如,假设我要对与程序配置相关的所有字段进行分组,例如:文件路径,用户名,版本,等等...在 config 属性下。
伙计们,您将如何/使用什么来管理此类数据?
这里摘录了我写的但不起作用的类,因为它不受支持。
...
...
self.config.filepath = ''
self.config.username = ''
self.config.version = ''
...
...
面对这种情况,哪种更优雅的方法或最佳实践是什么?
非常感谢所有人。
答案 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='')