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爬虫爬验证码实现功能详解
Apr 14 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
python 队列详解及实例代码
Oct 18 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
python提取包含关键字的整行数据方法
Dec 11 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
python numpy数组复制使用实例解析
Jan 10 Python
PyCharm无法引用自身项目解决方式
Feb 12 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 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中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
python实现自动登录
2018/09/17 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
外企C语言笔试题
2013/11/10 面试题
自荐书范文
2013/12/08 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
秋季运动会稿件
2014/01/30 职场文书
投资意向书范本
2014/04/01 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
旅游安全责任协议书
2016/03/22 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
各种货币符号快捷输入
2022/02/17 杂记
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技