- 1 创建和调用
def 函数名(输入参数):
函数体
[return x]
- 2 参数传递
形式参数,函数定义处
实际参数,函数调用处
在函数调用过程中,进行参数的传递如果是不可变对象, 在函数体的修改不会影响实参的值如果是可变对象,在函数体的的修改会影响到实参的值
- 3 函数的返回值
(1)如果函数没有返回值[函数执行完毕之后,不需要给调用处提供数据]return可以省略不写
(2)函数的返回值,如果是1个,直接返回类型
(3)函数的返回值,如果是多个,返回的结果为元组
- 4 参数定义
(1)个数可变位置参数
定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数
使用*定义可变的位置参数
结果为一个元组
(2)个数可变的关键字形参
定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参
使用**定义个数可变的关键字形参
结果为一个字典
(3)在一个函数的定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参,要求个数可变的位置形参放在个数可变的关键字形参之前
- 5 变量的作用域
- 6 递归函数
组成部分:递归调用与终止条件
# 生成斐波那契数列
def fib(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return fib(n - 1) + fib(n - 2)
for i in range(1, 20):
print(fib(i), end='\t')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现