返回,不返回,甚至根本不返回?

返回,不返回,甚至根本不返回?

考虑三项职能:

def my_func1():
  print "Hello World"
  return Nonedef my_func2():
  print "Hello World"
  returndef my_func3():
  print "Hello World"

他们似乎都没有退货。这些函数的返回值之间有什么不同吗?有什么理由选择其中一种而另一种呢?


慕仙森
浏览 437回答 3
3回答

jeck猫

是的,它们都一样。我们可以检查解释过的机器代码,以确认它们都在做完全相同的事情。import disdef f1():   print "Hello World"   return Nonedef f2():   print "Hello World"   returndef f3():   print "Hello World"dis.dis(f1)     4   0 LOAD_CONST    1 ('Hello World')         3 PRINT_ITEM        4 PRINT_NEWLINE    5   5 LOAD_CONST    0 (None)         8 RETURN_VALUE dis.dis(f2)     9   0 LOAD_CONST    1 ('Hello World')         3 PRINT_ITEM        4 PRINT_NEWLINE    10  5 LOAD_CONST    0 (None)         8 RETURN_VALUE dis.dis(f3)     14  0 LOAD_CONST    1 ('Hello World')         3 PRINT_ITEM        4 PRINT_NEWLINE                     5 LOAD_CONST    0 (None)         8 RETURN_VALUE

慕无忌1623718

他们各自返回相同的独生子女。None-没有功能上的差别。我认为不使用return语句,除非您需要它提前脱离函数(在这种情况下,则为裸函数)。return),或者返回比None..这也是有意义的,而且似乎是惯用的写作。return None当它位于一个函数中时,它有另一条返回其他内容的路径,而不是None..写字return None对于读者来说,显式地显示出有另一个分支返回更有趣的内容(调用代码可能需要处理这两种类型的返回值)。通常在Python中,返回的函数None就像voidC中的函数-它们的目的通常是对输入参数进行操作就位(除非您使用的是全局数据(战栗)。回归None通常会更清楚地表明这些论点是变异的。这使我们更加清楚为什么不使用return从“语言惯例”的观点出发。尽管如此,如果你在一个已经有预先设定好的规范的代码库中工作,我肯定会跟着做,以帮助代码库保持一致.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python