我的python3类函数定义如下:
class class1:
def funcOne(self, reqvar1, reqVar2, optVar1=default1, optVar2=default2, optVar3="server.domain", optVar4="defaultUser", optVar5="<default_Flags>"):
它在主程序中被调用(我想这样称呼它),比如:
argsIn=argparser.parse_args()
classInst=class1()
classInst.funcOne(5, 12, argsIn.inVal1, argsIn.inVal2, argsIn.inVal3, argsIn.inVal4, argsIn.inVal5)
你知道吗无效参数[1-5]在运行时在命令行上是可选的。如果它们没有被提供,我希望类函数使用默认值,如果它们被提供,那么它们将使用提供的值。你知道吗
当前,如果命令行上没有提供这些值,则inVal[1-5]将作为“None”传递,这将覆盖实际的默认值。你知道吗
类函数是单独维护的,它们管理默认值。将它们放入我的脚本(例如在argparser选项中)是不合适的。你知道吗
有没有一种方法可以轻松地处理这种情况,而不是求助于:
if args.inVal1 and not args.inVal2...
if not args.inVal1 and args.inVal2 and not args.inVal3...
随着组合的数量越来越大。你知道吗
看起来应该很简单,但我这里没有什么联系。你知道吗
谢谢你的帮助。你知道吗
如果创建了包含可选变量名的字典,则可以将该字典传递给函数调用。我只是注释掉了argparser进行测试。你知道吗
运行上述代码会产生:
相关问题 更多 >
编程相关推荐