函数定义
实现某一个功能的一系列操作可以封装成一个函数
定义
def 函数名():
函数体
函数参数
- 位置参数
- 不定长参数(定义时参数加了*标识,代表该函数可以接受多个实参打包成一个元组传给形参x)
- 关键字参数(定时时参数加了**标识,代表该函数可以接受多个key=value形式的参数打包成一个字典传给形参x)
- 默认参数(函数再定义时使用了参数名=默认值的形式,代表默认情况下该参数取该值,如果外界调用时不给该参数传值就使用默认值否则使用传入的实参)
备注:函数参数可以是函数、类
参数传递优先级是 先传位置参数--->再传不定长参数--->最后传关键字参数(同级传递:关键字参数可以是无序的)
函数返回值
函数必须要有一个返回值,如果没有的话默认返回为None ,同时函数遇到return关键字会结束执行。
函数调用
函数名(实参)
实参打包成一个序列(元组、列表、字符串不推荐)可以传给函数的位置参数,它会将序列里的每个数据按顺序传递给函数的位置参数(参数数量必须一致),调用时如果使用的实参是序列需在实参前带入*
实参打包成一个字典可以传给函数的关键字/默认参数(它会按照键值对的方式传递给函数的形参),调用时如果使用的实参是字典在实参前带上**
def test(a1, a2): print(a1 + a2) def test1(**x): for k, v in x.items(): print(k, v) s = "sw" test(*s) d = {"name": "tracy", "age": 12} test1(**d)
匿名函数
对于函数体比较简单的可以使用lamda关键字定义
# 函数名=lambda 形参:返回值
func_name=lambda x,y:x+y
print(func_name(4,5))