初学者问题在这里。我相信有一种更像Python的方式来做这件事。基本上,我需要使用列表和dict的内容创建一个字符串,另外还需要插入常量。我试图通过Eval为函数调用生成最终产品。我目前的代码可以正常工作,但闻起来有80年代的基本味道(这让我老了)。我已经看过了。加入,拉链和包裹,但没有运气
列表(argumentlist)包含参数名称(如打开、关闭、长度),dict(self.indicator\u参数)包含所有可能的参数名称及其默认值。例如,在dict中有一个键“length”及其默认值。此外,我需要连接“+”和逗号,以创建结束字符串
下面是迄今为止的代码示例
def loop_thru_arguement_list_to_create_end_string(self, argument, resultant_argument_string):
if resultant_argument_string == "":
resultant_argument_string = argument + ' = ' + str(self.indicator_paremeters.get(
argument))
else:
resultant_argument_string = resultant_argument_string + ", " + argument + ' = ' + str(
self.indicator_paremeters.get(
argument))
return resultant_argument_string
从此处的循环调用此函数(需要重命名该函数):
def extract_argument_list_from_function(self, fullarguments) -> str:
resultant_argument_string = ""
argumentlist = fullarguments[0]
for argument in argumentlist:
resultant_argument_string = self.loop_thru_arguement_list_to_create_end_string(argument,
resultant_argument_string)
return resultant_argument_string
fullarguments=是inspect.getfullargspec调用的dict。我只需要args,因此需要[0]
以上所有方法都属于更广泛的类别
self.indicator\u parameters是保存所有潜在参数的dict
上面的代码工作正常,但感觉不太对劲特别是IF语句,它不会让人觉得像Python。
在我看来,你只需要这个:
您可以删除
loop_thru_arguement_list_to_create_end_string
方法相关问题 更多 >
编程相关推荐