python中return的返回和执行实例


Posted in Python onDecember 24, 2019

1 打印函数名和打印函数的执行过程的区别

例子1.1

def a():
 print(111)

print(a) # 打印a函数的内存地址,不会对a函数有影响,a函数不会执行
print(a()) # 打印a函数的打印部分,并打印a函数的返回值

打印结果:

<function a at 0x0000000001D02E18>

111

None

总结:

打印函数名print(a),结果是把该函数的内存地址打印出来了。

打印函数的执行:print(a( )),打印该函数的执行程序中的print的部分,最后把return的内容也打印出来,没有定义return的函数打印None。

例子1.2

def a():
 print(111)
 return None
def b():
 return a() # 打印a函数中打印的部分,返回a函数的返回值。打印:111,返回None

print(b) # 打印b函数的内存地址
print(b()) # 打印b函数中打印的部分,打印b函数的返回值

打印结果:

<function b at 0x00000000021EB8C8>

111

None

代码过程解析如下:

print(b) 打印变量b(函数)的内存地址,不会对b函数有任何的影响,b函数不会执行。

print( b() ) :

《1》先执行b 函数。由于b函数没有定义主体内容,返回空

《2》打印b函数的返回值:return a() 。由于此时的b函数在运行的,所以return里面的函数也会运行。

《2.1》,运行 a() ,打印 111出来。

《2.2》,由于a() 函数里面没有定义return的值,取none作为a()函数的返回值, 也把这none return 给b函数。此时的b函数的返回值也是none,所以print(b())= None

2,函数内容主体中执行:

例子2.

def a():
 print('aaaaaaaa') # 打印:aaaaaaaa
def b():
 a() # 执行a函数

b() # 执行b函数

打印结果:

aaaaaaaa

3,在函数的return中执行:

例子3.

def a():
 print('aaaaaaaa')
def b():
 return a()

b()

打印结果:

aaaaaaaa

总结:当一个函数执行的时候,若该函数的return内容是一个可执行的程序的时候,该程序也会正常的执行。不过此时的返回值的概念是:打印该程序中的print部分,并返回该函数的返回值,若没有定义返回值就返回None

4,打印函数名(本质就是打印变量名对应的内存地址:也就是该函数对应的内容主体的内存地址)

例子4.

def a():
 print(111) # 打印:111
print(a) # 打印a函数的内存地址
def b():
 return a # 返回a函数的内存地址
print(b) # 打印b函数的内存地址

return a() 的情况: 尽管这次return的是a() ,但由于b()函数并没有调用,仍然还是打印两个函数的内存地址

5,函数中的 return中的内容是常量和变量(可执行的函数)的情况下的函数执行问题

return中为一个常量时: 因为b()函数里面是空的。而return的a是个常量,就是一个内存地址

例子5.1.

def a():
 print(111) # 打印:111
def b():
 return a # 返回a函数的内存地址

b()

return中是一个变量(可执行的函数),则当b函数运行时,b函数的主体和return里面的程序都会运行,效果如下:

例子5.2

def a():
 print(111)
def b():
 return a() # 打印a函数中打印的部分,返回a函数的返回值

b()

打印结果:

111

6,打印传递参数的高阶函数的返回值,一定要理解a(f)就是在执行a函数

例子6.1

def f():
 print(11111111) # 执行结果 11111111
 return None
def a(b):
 print(222222) # 执行结果 222222
 return b # 执行结果 返回b函数的内存地址

print(a(f)) # 打印a函数中打印的部分,打印a函数的返回值。打印a函数中的打印部分:222222,打印a函数的返回值也就是打印f函数的内存地址

解析:打印 a (f)函数的整个过程相当于打印不带参数的 print(a())的过程!!!!,即a(b)函数会被执行并且打印返回值。

print(a(f)):打印a函数中打印的部分,并且打印a函数的返回值,也就是print(222222)和print(f)

同理:给一个高阶函数传参后赋值也会执行该函数,例如:

例子6.2

def f():
 print(11111111) # 执行结果 打印:11111111
 return None
def a(n):
 print(222222) # 执行结果 打印:222222
 return f # 打印f函数中的打印部分,返回f函数的返回值。执行结果:111111 return None

b = a(f)

上例中的b =a(f) 分两步理解:

1,a(f) ,相当于不带参数的a(),意思是执行a函数,a(f) 就是导入参数 f 的情况下执行该函数

2,b= a(f), 就是把a(f)函数运行后的返回值 赋值给b,供后续的变量b来调用。

以上这篇python中return的返回和执行实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的常见命令注入威胁
Feb 18 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
python基于ID3思想的决策树
Jan 03 Python
Python中logging实例讲解
Jan 17 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
python命名空间(namespace)简单介绍
Aug 10 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
Python 下载及安装详细步骤
Nov 04 Python
对Keras自带Loss Function的深入研究
May 25 Python
只用Python就可以制作的简单词云
Jun 07 Python
Python文件操作函数用法实例详解
Dec 24 #Python
Python的形参和实参使用方式
Dec 24 #Python
python接口自动化如何封装获取常量的类
Dec 24 #Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 #Python
Python 限定函数参数的类型及默认值方式
Dec 24 #Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 #Python
Python scrapy增量爬取实例及实现过程解析
Dec 24 #Python
You might like
php FPDF类库应用实现代码
2009/03/20 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
留学生求职信
2014/06/03 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
地雷战观后感
2015/06/09 职场文书
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS