第5章 函数与lambda表达式

本文介绍了Python中的函数和lambda表达式,包括函数的定义、参数、返回值、递归以及局部函数。详细讨论了参数传递机制、默认值、可变参数,以及如何处理多个返回值。还讲解了函数的文档字符串、变量作用域和遮蔽问题,以及如何使用nonlocal关键字。最后,介绍了lambda表达式的用法,作为简化版的局部函数。
摘要由CSDN通过智能技术生成

函数:将一段代码定义为函数并指定函数名,方便调用

lambda表达式:可作为表达式、函数参数、函数返回值,让程序更简洁

5.1 函数入门

定义函数要考虑的3个问题

  1. 把动态变化的参数定义为函数的参数
  2. 把希望得到的数据定义为返回值
  3. 函数的内部实现过程
def 函数名(形参列表):
    执行语句...
    [return 返回值]

def 内置关键字,用于定义函数,以便将程序的各功能划分到单独的函数中
函数名:语法上,是合法的标识符即可;可读性上,应由小写单词用下划线连缀而成

形参列表:有多个形式参数时,用逗号分隔。一旦设置,调用时必须赋值

参数传递机制:为参数创建副本后传入函数——传入的是形式参数,不改变实际参数

返回值:可以是有值的变量或者表达式。既可赋值给变量,也可直接用作另一函数的参数

def my_max(x,y):
    return x if x > y else y

为函数提供文档

把def之后,执行语句之前的字符串,会自动成为该函数的说明文档

调用方法:help();函数的__doc__属性

>>> def test():
	'说明文档'
	pass

>>> help(test)
Help on function test in module __main__:

test()
    说明文档
>>> def test():
	'说明文档'
	pass

>>> test.__doc__
'说明文档'

多个返回值的处理与接收

Python会自动将返回值处理成元组。接收时,可以用多个变量接收返回值(序列解包功能)

>>> def test():
	return 1,2

>>> test()
(1, 2)

>>> a,b = test()
>>> print(a,b)
1 2

递归函数

在函数中调用其自身,要有递归出口。

以下例子为累加程序,递归出口为【n==0】,【test(n - 1)】为调用自身

>>> def test(n):
	    if n == 0:	return n
	    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ailsa2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值