Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数中的返回数_Python_Return - Fatal编程技术网

Python 函数中的返回数

Python 函数中的返回数,python,return,Python,Return,如果我们在python函数中使用许多返回位置,会有什么危害吗? 假设我想返回一个函数,如果值不是3,值不是None(只是一个场景)。所以它可以通过很多方式来实现,比如 def return_value(value): if value != 3: return None if value is not None: return None if value != 'string': return None 或者可以这样做: def return_value(value): i

如果我们在python函数中使用许多返回位置,会有什么危害吗? 假设我想返回一个函数,如果值不是3,值不是None(只是一个场景)。所以它可以通过很多方式来实现,比如

def return_value(value):
 if value != 3:
  return None
 if value is not None:
  return None
 if value != 'string':
  return None
或者可以这样做:

def return_value(value):
 if value != 3 or value is not None or value !='string':
  return None

同样,我只想使用第二种编写代码的方法,但出于疑问,我想问的是,有很多返回是否会影响函数的性能?

不,有很多返回没有害处


也就是说,在这种情况下,我肯定会选择第二个版本。第一种方法更难阅读,速度也更慢(尽管在没有基准的情况下优化速度往往为时过早)。但是,并不是因为有很多
返回值
s,而是因为有很多
if
s。

您在上面使用了一个非常有趣的场景,但是从概念上讲,函数中有多个返回点是没有问题的

在真实场景中,您的测试条件很可能在逻辑上相似,并且将它们组合在一起(如第二个示例中所示)将具有良好的逻辑意义,并使代码易于阅读


干杯

不,在这种情况下不会,这只是一个场景,你可以通过给出场景来解释它是否会影响。你不必担心,编写可读的代码。如果代码效率不高,而不是基于您的结构,那么代码的速度会很慢。如果代码变得更复杂,第一种方法将更容易插入注释