栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-return, return None, and no return at all?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-return, return None, and no return at all?

在实际行为上,没有区别。他们都回来了None,就是这样。但是,所有这些都有时间和地点。以下说明基本上是应如何使用不同方法的方法(或至少应告诉我应如何使用它们的方法),但它们不是绝对的规则,因此你可以根据需要将它们混合使用。

使用 return None

这说明该函数确实是要返回一个值以供以后使用,在这种情况下,它返回None。None然后可以在其他地方使用此值。return None如果该函数没有其他可能的返回值,则永远不要使用。

在下面的例子中,我们返回

person
的mother,如果
person
给出的一个人。如果不是人类,我们将返回,None因为
person
它没有mother(假设它不是动物或其他东西)。

def get_mother(person):    if is_human(person):        return person.mother    else:        return None

使用 return

出于与break循环相同的原因使用它。返回值并不重要,你只想退出整个函数。即使你不经常使用它,它在某些地方也非常有用。

我们有15个人

prisoners
,我们知道其中一个人有一把刀。我们prisoner逐个循环检查它们是否有刀。如果我们用小刀打人,则可以退出该功能,因为我们知道只有一把小刀,没有理由检查其余部分
prisoners
。如果找不到
prisoner
刀子,则会发出警报。可以用许多不同的方法完成此操作,使用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_knife()
,因为返回值不是要捕获的。

使用无return可言

这也将返回

None
,但是该值并不意味着要使用或捕获。这仅表示该功能已成功结束。它基本上是相同
return
void
语言,如
C ++
Java
功能。

在下面的示例中,我们设置了人的母亲的名字,然后该函数在成功完成后退出。

def set_mother(person, mother):    if is_human(person):        person.mother = mother

注意:绝对不要这样做

var = set_mother(my_person, my_mother)
,因为返回值不是要捕获的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号