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

yipeiwu_com7年前Python基础

前言

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

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

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

>>> 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

>>> 'python'==None 
False 
>>> ''==None 
False 
>>> 9==None 
False 
>>> 0.0==None 
False 

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

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() 

运行结果:

98
ok
----------
98
98
ok

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 这里就直接用python的scapy搞。 这里是ar...

Python实现的栈(Stack)

前言 Python本身已有顺序表(List、Tupple)的实现,所以这里从栈开始。 什么是栈 想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。从这堆书里...

python解析发往本机的数据包示例 (解析数据包)

tcp.py 复制代码 代码如下:# -*- coding: cp936 -*-import socketfrom struct import *from time import cti...

Pycharm 2020最新永久激活码(附最新激活码和插件)

Pycharm 2020最新永久激活码(附最新激活码和插件)

最近很多人的Pycharm激活时间又过期了,很多人索要激活码,我就再把激活的方法汇总和工具再梳理一次给大家。 最主要有两种激活方式(两种方式需要的激活码不同): Pycharm最新的激活...

python自定义解析简单xml格式文件的方法

本文实例讲述了python自定义解析简单xml格式文件的方法。分享给大家供大家参考。具体分析如下: 因为公司内部的接口返回的字串支持2种形式:php数组,xml;结果php数组pytho...