首页 > 代码库 > python函数
python函数
函数
函数作用
减少代码冗余
逻辑清晰
不易维护
函数分类
内置函数
自定义函数
函数定义
函数先定义,后使用
函数使用
1.定义阶段
2.使用阶段
语法
def func_name (para1,para2,...)
"""文档注释"""
函数体
return value
定义函数的三种形式
一、无参函数
无参函数仅仅只是执行一些操作而已,通常有返回值
二、有参函数
函数的功能依赖于外部参数的传入,通常都有返回值
三元表达式
res=x if x > y else y
三、空函数
定义代码模块的框架
函数的调用
按参数分
定义时有参,调用时必须传入参数
定义时无参,调用时无须传入参数
按调用函数的形式和位置分
调用函数的语句形式
例如:foo()
调用语句的表达式形式
例如:res=my_max(1,2)*123
print(res)
把函数调用作为另外一个函数的参数
例如:res=my_max(my_max(10,20),30)
print(res)
函数的返回值
1.一个值
2.多个值
3.None
没有return
return 什么都不写
return None
针对多个返回值的情况
注:1.返回值是以元组的形式返回,可以用一个变量接收;
2.(unpack)如果是用多个变量来接收,有几个返回值,接收时就得有几个变量来接收,如果想丢弃返回值,可以使用占位符
函数参数
从大的角度区分
形参
实参
详细区分
位置参数
关键字参数
默认参数
可变长参数
命名关键字参数
位置参数
位置形参,必须被传值
位置实参,与形参一一对应
关键字参数
key=value
注意的问题
1.关键字实参必须位于位置实参的后面
2.不能重复对一个形参传值
默认参数
一、默认参数必须跟在非默认参数后,在定义阶段就会报错
二、默认参数在定义阶段就已经被赋值了,而且只在定义阶段赋值一次
三、默认参数通常定义成不可变类型
可变长参数
*args:会把溢出的按位置定义的实参都接收,以元组的形式赋值给args
**kwargs:会把溢出的按关键字定义的实参都接收,以字典的形式赋值给kwargs
命名关键字参数
python函数