argparse.Namespace 和 types.SimpleNamespace 之间的区别?

Max*_*ore 4 python python-3.x

看起来它们的行为完全相同 \xe2\x80\x93 两者都相似dicts,但都使用.文字来访问项目,但是它们都不是另一个项目的子类

\n
from argparse import Namespace\nfrom types import SimpleNamespace\n\nissubclass(Namespace, SimpleNamespace)  # False\nissubclass(SimpleNamespace, Namespace)  # False\n
Run Code Online (Sandbox Code Playgroud)\n

那么,两者之间有什么区别吗?\nargparse.Namespace可以在所有情况下使用吗?

\n

Aar*_*sco 5

曾经有人提议argparse继承。也就是说,types如果你使用的是足够新的 Python,就使用这个;这就是它的用途。

  • 因此,独立的答案是:它们是同一事物的两个独立实现,存在一些细微的技术差异,不值得合并,但维护者并没有费心合并它们。 (2认同)