考虑三个函数:
def my_func1():
print "Hello World"
return None
def my_func2():
print "Hello World"
return
def my_func3():
print "Hello World"
他们似乎都没有返回。这些函数的返回值的行为有什么不同吗?有什么理由偏爱其中一个而不是另一个吗?
在实际行为上,没有区别。它们都返回none
,仅此而已。然而,所有这些都有一个时间和地点。下面的说明基本上是应该如何使用不同的方法(或者至少我被教导如何使用它们),但它们不是绝对的规则,所以如果你觉得有必要,你可以把它们混在一起。
这表明该函数确实要返回一个值供以后使用,在本例中,它返回none
。这个值none
可以在其他地方使用。return none
如果该函数没有其他可能的返回值,则从不使用。
在下面的示例中,如果给定的person
是人类,则返回person
的mother
。如果它不是人类,则返回none
,因为person
没有母亲
(假设它不是动物或其他东西)。
def get_mother(person):
if is_human(person):
return person.mother
else:
return None
我们有15个囚犯
,我们知道其中一个有刀。我们逐个遍历每个囚犯
以检查他们是否有刀。如果我们用刀打人,我们可以退出函数,因为我们知道只有一把刀,没有理由检查囚犯
的其余部分。如果我们没有找到带刀的囚犯
,我们就会发出警报。这可以通过许多不同的方式完成,使用return
可能甚至不是最好的方式,但它只是一个示例,演示如何使用return
退出函数。
def find_prisoner_with_knife(prisoners):
for prisoner in prisoners:
if "knife" in prisoner.items:
prisoner.move_to_inquisition()
return # no need to check rest of the prisoners nor raise an alert
raise_alert()
注意:永远不要执行var=find_prisoner_with_nife()
,因为返回值不是要被捕获的。
这还将返回none
,但该值不是用来使用或捕获的。它只是表示函数成功结束。它与C++或Java等语言中void
函数中的return
基本相同。
def set_mother(person, mother):
if is_human(person):
person.mother = mother
问题内容: 我将使用解决方案来更新此问题,我想包括我的问题和解决方案,因为我无法在Stackoverflow上找到它。如果您想加入解决方案,请放心。 我有一个使用Visual Studio 2013创建的新创建的“空” MVC5项目。如果可能,我需要from并想要AJAX行为。在MVC3中使用Ajax.BeginForm总是很简单,所以我认为在MVC5中也是如此。 但是,当我单击“提交”按钮时,在
我有一个用于pub-sub的redis客户端。我正在使用websocket消息处理程序动态订阅redis频道。websocket消息的有效负载包含我用来创建频道名称的ID。例如。订阅此频道效果良好,发布到该频道时会收到消息。 但我遇到的问题是,我想在某个时候取消这个频道的订阅。通过阅读redis文档,我的假设是,我会使用,这样我就可以使用,从任何频道取消订阅,但尝试后仍会收到消息。 当使用时,该模
问题内容: 我“d成的运行Django的服务器,我不能简单地和出来。 是否有其他摆脱困境的方法? 目前,我手动关闭本地PC上的选项卡,然后再重新打开,但这变得很烦人。 问题答案: 或 。请参阅屏幕手册#分离。
Git版本回退的意思就是将本地代码回退到某一个指定的版本,此版本之前的所有内容都会被重置. 操作方法: VCS —> Git —> Reset HEAD—> 弹出Reset Head对话框. Reset HEAD: Reset Type: 回退类型 Mixed:回退到某个版本,本地源码不会回退, 会回退commit和index信息. Soft:回退到某个版本, 本地源码和index信息不会回退,
//在下面的程序中,在内部,当用户收到指令时,他可以简单地进入哨兵退出while循环,但是,当您得到希望购买的票的结果时,按999并不退出程序
你好,所以我正在使一个java工作,出于某种原因,当我到达if else时,当我在对话框中单击no时,它没有退出,而是继续询问学生名`public static void main(string[]args){ }`