gpt4 book ai didi

python - 我应该将参数转发为 *args 和 **kwargs 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:49 32 4
gpt4 key购买 nike

我有一个类在我的程序中使用 python 的 optparse 模块处理命令行参数。它也被几个类继承以创建参数的子集。为了封装选项解析机制,我只想向继承类显示一个函数 add_option 。这个函数所做的就是调用 optparse.make_option

简单地让我的 add_option 方法说它接受与文档中的 optparse.make_option 相同的参数,并将参数转发为 *args**kwargs?

我应该事先做一些参数检查吗?在某种程度上,我想避免这种情况,以便尽可能多地将那段代码与 optparse 的特定版本分离。

最佳答案

您似乎希望您的子类了解命令行内容,这通常不是一个好主意。

您想封装程序的整个配置输入部分,以便您可以使用命令行、配置文件、其他 Python 程序等来驱动它。

因此,我将从您的子类中删除对 add_option 的任何调用。

如果您想了解您的配置要求在运行时是什么样的,我只需将该数据添加到您的子类中即可;让每个人都有一个成员或方法,可以用来确定它需要什么样的输入。

然后,您可以让一个输入组织者类遍历它们,提取这些数据,并使用它来驱动命令行、配置文件或您拥有的任何东西。

但老实说,我从来不需要在运行时执行此操作。我通常将所有配置内容提取到它自己的独立事物中,以回答“用户需要告诉工具什么?”这个问题,然后子类会在配置数据结构中查找他们需要的内容。

关于python - 我应该将参数转发为 *args 和 **kwargs 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328248/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com