看起来它们的行为完全相同 - 都像 dicts
一样,但是使用点号字面量来访问项,但是它们中没有一个是另一个的子类。
from argparse import Namespace
from types import SimpleNamespace
issubclass(Namespace, SimpleNamespace) # False
issubclass(SimpleNamespace, Namespace) # False
那么,它们两个之间有区别吗?
在所有情况下都可以使用argparse.Namespace
吗?
argparse
是特定目的的。types
就像可能性一样普遍。从阅读文档中可以发现,argparse
的编写是为了解决其前身optparse
中被开发人员认为存在的设计缺陷,该缺陷也有一个Namespace
类,并且我认为optparse
先于types.SimpleNamespace
。 - BoarGulesenum
而不仅仅是神奇的int
相同。 - juanpa.arrivillaga