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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python制作CSDN免积分下载器
Mar 10 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
python语音识别实践之百度语音API
Aug 30 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
python3 实现调用串口功能
Dec 26 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
基于Python实现全自动下载抖音视频
Nov 06 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
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
php中的依赖注入实例详解
2019/08/14 PHP
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python画图的函数用法以及技巧
2019/06/28 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python 实现两个线程交替执行
2020/05/02 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
干部选拔任用方案
2014/05/26 职场文书
大学生个人求职信例文
2014/07/07 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
爱心捐款活动总结
2015/05/09 职场文书
呐喊读书笔记
2015/06/30 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
python中mongodb包操作数据库
2022/04/19 Python