python函数
函数
什么是函数
def 是定义函数的关键字
函数名 命名规范与变量名的命名规范一致
1.不能与关键字冲突
2.尽量做到见名知意
参数
分为两大类
形参:在函数定义阶段括号内写的变量名 称之为形参
实参:在函数调用阶段括号内传入的具体的值 称之为实参
形参与实参的关系
形参就是变量名
实参就是变量名指向的值
只有在调用函数的时候两者才有关系,一旦函数运行结束 关系自动解除
函数的注释:推荐你写上
1.用来描述你这个函数的具体功能
2.诠释你写的函数的形参都表示什么意思
3.还可以诠释你这个函数的返回值有什么特点
函数体代码:你这个函数到底能干嘛
函数的返回值:关键字return
1.返回给调用者函数体代码执行之后得到的结果
2.只要函数体代码执行到return,整个函数立即结束
def 函数名(参数1,参数2,参数3...):
"""
函数的注释
参数的解释
返回值的解释
"""
函数体代码1
函数体代码2
函数体代码3
return 函数的返回值
函数的返回值
1.不写return
python所有的函数都有返回值,不写return的情况下默认返回None
2.写return返回一个值
1.return
你想主动结束整个函数的运行
2.return None(与上面的只写return是等价的)
你想主动结束整个函数的运行
3.return 值
这个值可以是python任意数据类型
3.写return返回多个值
1.return 值1,值2,值3...
return会自动将多个值组织成一个元组返回给调用者
def func():
return 'a','b','c'
x,y,z = func()
x,_,_ = func()
x,*_ = func() # _是一个元组类型
2.return [值1,值2,值3...]
你也可以自己的手动指定返回数据类型
函数的参数详解
1.位置参数
在定义函数的时候按照位置从左到右依次书写的变量名叫做位置形参
位置形参在调用的时候必须为其传值
在调用函数的时候,按照位置书写的实参 会一一对应的传给位置形参
2.默认值参数
在函数定义阶段就已经给形参赋值了
注意如果默认值参数是可变类型的情况下,需要细心
3.可变长参数(动态参数)
*
**
* 站在形参的角度 可以接收多余的位置参数 将他们组织成一个元组 交给*后面的变量名
* 站在实参的角度 可以将列表 元组 集合 字符串这些支持for循环的容器类型打散成位置参数
** 站在形参的角度 可以接收多余的关键字参数(什么=什么) 将他们组织成一个字典 交给**后面的变量名
** 站在实参的角度 可以将字典打散成key=value的形式 按照关键字参数传给函数
函数可以接收调用者传入的任意个数的参数
def func(*args,**kwargs):
print(args)
print(kwargs)
定义函数的三种方式
1.空函数:可以快速帮助你构建项目框架 使项目架构清晰明了
应用频率非常高
购物车功能
def register():
pass
def login():
pass
def shopping():
pass
def pay():
pass
def func():
pass
2.无参函数
def func():
print('from func')
3.有参函数
def func(x,y,*args,**kwargs):
pass
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现