python return none_python – 返回,返回None,根本没有返回?

在实际行为上,没有区别.他们都返回None,就是这样.但是,所有这些都有时间和地点.

以下说明基本上是如何使用不同的方法(或者至少我是如何教他们应该使用的),但它们不是绝对的规则,所以如果你认为有必要,你可以把它们混合起来.

使用return None

这告诉该函数确实意味着返回一个值供以后使用,在这种情况下它返回None.然后可以在其他地方使用此值None.如果函数没有其他可能的返回值,则永远不会使用返回None.

在下面的例子中,如果给出的人是人,我们返回人的母亲.如果它不是人类,我们返回无,因为该人没有母亲(让我们假设它不是动物或者左右).

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_knife(),因为返回值并不意味着被捕获.

根本不使用任何回报

这也将返回None,但该值不应被使用或捕获.它只是意味着功能成功结束.它与C或Java等语言中的void函数返回基本相同.

在下面的示例中,我们设置了人的母亲姓名,然后在成功完成后退出该功能.

def set_mother(person, mother):

if is_human(person):

person.mother = mother

注意:你永远不应该做var = set_mother(my_person,my_mother),因为返回值并不意味着被捕获.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值