脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python函数中return后的语句一定不会执行吗?

python函数中return后的语句一定不会执行吗?

2020-11-24 00:30快递小可 Python

这篇文章主要给大家详细分析讲解了关于python函数中return语句后的语句是否一定不会执行的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。

前言

return语句用于退出函数,向调用方返回一个表达式。return在不带参数的情况下(或者没有写return语句),默认返回None。None是一个特殊的值,它的数据类型是NoneType。NoneType是Python的特殊类型,它只有一个取值None。

它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。。。

1》当函数没有显式return,默认返回None值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> def fun():
 print 'ok'
 
>>> res=fun()
ok
>>> type(res)
<type 'NoneType'>
>>> res==None
True
>>> def func():
 print 98
 return
 
>>> f=func()
98
>>> f
>>> type(f)
<type 'NoneType'>
>>> f==None
True

2》和任何其他的数据类型比较是否相等时永远返回false

?
1
2
3
4
5
6
7
8
>>> 'python'==None
False
>>> ''==None
False
>>> 9==None
False
>>> 0.0==None
False

3》执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def fun():
 print 98
 return 'ok'#执行到该return语句时,函数终止,后边的语句不再执行
 print 98
 
def func():
 try:
  print 98
  return 'ok' #函数得到了一个返回值
 finally:#finally语句块中的语句依然会执行
  print 98
 
print fun()
print '----------'
print func()

运行结果:

?
1
2
3
4
5
6
98
ok
----------
98
98
ok

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://blog.csdn.net/sxingming/article/details/52400336

延伸 · 阅读

精彩推荐