r527665047 2021-07-17 23:03 采纳率: 0%
浏览 115

python中代码高度重复的if语句如何合并重构?

在一个函数中,根据传入的参数来决定某一个定义的值,代码如下:

def result(self, num):
  if num ==1:
    name = "axxx"
    十几行代码
  elif num ==2:
    name = "bxxx"
    十几行代码
  elif num ==3:
    name = "cxxx"
    十几行代码
  elif ……

目前的代码非常臃肿,每个if语句里面的“十几行代码”都是一模一样的,主要是根据name的值对数据库进行一系列操作。我能想到的精简方案是再定义一个新的函数出来,把这“十几行代码”放进去,把name作为参数传递进去,然后所有的if判断语句都去调用这个函数,但是感觉这代码还是好臃肿啊。请问有没有更加优美的写法?

  • 写回答

3条回答 默认 最新

  • 碧池阿蒂拉 2021-07-17 23:24
    关注

    啊 我不太理解 既然那十几行代码一模一样,那么为什么要单独写在每个elif下面,直接提出来不就行了

    评论

报告相同问题?

问题事件

  • 修改了问题 7月17日
  • 创建了问题 7月17日