繁体   English   中英

命名空间,argparse和用法

[英]Namespace, argparse, and usage

这真的是几个问题:

  1. 有没有理由argparse使用命名空间而不是字典?

  2. 假设我有一个带__init__(self, init_method, *args)的类__init__(self, init_method, *args) init_method参数告诉init_function我想要初始化类的方式,而arg参数给出了init所需的所有参数。 对于不同的方法,参数可能不同。 我应该使用字典还是命名空间?

  3. 假设我使用命名空间,如何将命名空间传递给__init__()

使用vars()很容易将命名空间转换为字典:

>>> vars(args)
  1. arparse的设计者显然认为访问参数会更方便

     args.arg_name 

    而不是

     args["arg_name"] 

    不过,这可能是一个品味问题。 我很乐意使用字典,特别是考虑到标准库中没有Namespace类,除了argparse

  2. 使用字典。

  3. 如果你真的想要一个命名空间,你可以使用init_function(**args.__dict__) ......但我不推荐它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM