我目前的代码类似于以下内容。
def func(args):
optionalparameters = ((args.split(':')[1]).split(' '))[1:]
second_func(optionalparameters)
这假设args
是冒号分隔的字符串;它需要下半部分,将它分成空格分隔的单词并返回(列表中的?)除了第一个之外的所有单词。包含多个冒号的情况尚未处理,因为我是该语言的新手。
optional_parameters可以不作为列表传递吗?由于参数是可选的,以下内容是否有效?
def func(args):
optionalparameters = ((args.split(':')[1]).split(' '))[1:]
val1=val2=val3=None
try:
val1 = optionalparameters[0]
except IndexError:
pass
try:
val2 = optionalparameters[1]
except IndexError:
pass
try:
val3 = optionalparameters[2]
except IndexError:
pass
second_func(val1, val2, val3)
标准库模块似乎可以做很多事情。任何有关参数处理的帮助都非常受欢迎。
答案 0 :(得分:0)
您可以unpack
列表中的值:
optionalparameters = ((args.split(':')[1]).split(' '))[1:]
second_func(*optionalparameters)
或:
val1, val2, val3=((args.split(':')[1]).split(' '))[1:]
second_func(val1, val2, val3)