400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】Python函数的返回值和匿名函数

【Python基础知识】Python函数的返回值和匿名函数

  • 发布: python培训
  • 来源:python干货资料
  • 2020-10-30 10:13:49
  • 阅读()
  • 分享
  • 手机端入口

1)函数返回值

函数返回的值称为返回值(return value)。在此之前定义的函数均没有返回值。之前使用过的内建函数,大部分都有返回值,如int()函数:

  1. >>> int(3.14)  # 返回值是3 
  2. 3 

一直使用交互模式常常会让初学者默认为打印出的内容就是函数的返回值,如这种情况:

  1. >>> def hello_world():   # 这个函数没有返回值 
  2. ...     print('Hello,world!'
  3. ... 
  4. >>> hello_world()   # 调用这个函数时,误以为有返回值Hello, world! 
  5. Hello,world! 
  6. >>> h = hello_world()   # 试图将返回值赋给变量h,因为再次调用函数,所以打印结果 
  7. Hello,world! 
  8. >>> print(h)   # 打印h的值,发现h的值是None,证明该函数没有返回值 
  9. None 

自定义函数时,使用return语句来返回一个值到调用函数的代码行。例如,将hello_world()改写成有返回值的函数:

  1. >>> def hello_world(): 
  2. ...     return 'Hello,world!'  # 返回值是'Hello, world!' 
  3. ... 
  4. >>> h = hello_world()  
  5. >>> print(h)   # 现在h有值了,证明该函数有返回值 
  6. Hello, world! 

写在return后面的值就是返回值。如果一个函数没有return语句,或者return语句后面没有任何值,函数会默认返回None。None和True、False一样,是一个内建值(类似于内建函数),是由Python解释器定义的,None代表什么都没有。

函数在执行return语句之后,就立即返回,不再执行函数体内return语句后面的所有语句:

  1. >>> def f(): 
  2. ...     print('a'
  3. ...     print('b'
  4. ...     return 
  5. ...     print('c'
  6. ...     print('d'
  7. ... 
  8. >>> f() 

可以发现上面的函数只打印了“a”和“b”,这是由于函数在return语句处就终止了。在编程时可以利用这一特性,让函数在某些条件下终止。

2)匿名函数

Python中的匿名函数(anonymous function)是指没有名字的函数。一般函数使用def关键字定义,而匿名函数使用lambda关键字定义,故匿名函数也称为lambda函数。

匿名函数的语法格式如下:

lambda 参数:表达式

冒号的左边为函数参数,多个参数使用逗号隔开;冒号的右边为表达式。匿名函数的参数可以有任意个数的参数,但是只能有一个表达式,这个表达式的计算结果作为匿名函数的返回值(它不能使用return语句,但是会默认返回计算结果)。匿名函数可以在任何需要普通函数(普通函数是指使用def关键字定义的函数)的地方使用。下面是一个匿名函数,它计算了两个数字的乘积:

  1. >>> # 由于匿名函数没有名字,因此,如果想要重复使用它,需要将它与一个名字绑定 
  2. >>> mul = lambda x, y: x * y 
  3. >>> mul(99
  4. 81 
  5. >>> mul(35
  6. 15 

可以使用def关键字来重新定义同一个函数:

  1. >>> def mul(x, y): 
  2. ...     return x * y 
  3. ... 
  4. >>> mul(99
  5. 81 
  6. >>> mul(35
  7. 15 

看起来匿名函数比def关键字定义的函数只是简便了一点,好像没有必要学习。但实际上,匿名函数很多时候都会作为高阶函数(higher-order function)的参数使用。

如果对Python开发感兴趣或者想要深入学习的现在可以免费领取学习大礼包哦(点击领取80G课程资料 备注:领资料)。

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方QQ

扫描上方二维码或点击一键加群,免费领取价值599元网课,加群暗号:599。 一键加群

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,领80G学习资料
QQ交流群
领取免费网课
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
领取80G学习资料

编程入门优选课
1元购买
12.1-12.12限时购
1元购买
课程资料、活动优惠 领取通道