注意
定义了函数之后 就相当于有了一个具有某些功能的代码 想要让这些代码能够执行 需要调用它 调用函数很简单的 通过 函数名() 即可完成调用 每次调用函数时 函数都会从头开始执行 当这个函数中的代码执行完毕后 意味着调用结束了 当然了如果函数中执行到了return也会结束函数为了让一个函数更通用 即想让它计算哪两个数的和 就让它计算哪两个数的和 在定义函数的时候可以让函数接收数据 就解决了这个问题 这就是 函数的参数
函数的参数1 定义带有参数的函数
示例如下
def add2num(a, b):
c a b
print c
2 调用带有参数的函数
以调用上面的add2num(a, b)函数为例:
def add2num(a, b): # 定义接受两个参数的函数
c a b
print c
add2num(11, 22) # 调用带有参数的函数时 需要在小括号中 传递数据
定义时小括号中的参数 用来接收参数用的 称为 “形参” 调用时小括号中的参数 用来传递给函数用的 称为 “实参” 函数的分类 位置参数 参数调用时 传入的参数个数要和位置想匹配关键字参数 参数调用时,可以改变传参顺序 如果有位置参数需要位置参数放在关键字参数前面关键字参数 如果关键字参数传参要在位置参数之前 将会报错缺省参数 在形参中默认有值的参数 称之为缺省参数 调用函数时 缺省参数的值如果没有传入 则取默认值 形式参数 如果传入 则取实际参数不定长参数 有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数 声明时不会命名。不定长参数* args 会存放所有未命名的变量参数 args为元组不定长参数* * kwargs 会存放命名参数 即形如key value的参数 kwargs为字典.位置参数
关键字参数
如果关键字参数传参要在位置参数之前 将会报错
缺省参数
注意 缺省参数一定要位于位置参数的最后面
不定长参数
基本语法如下
有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数 声明时不会命名 加了星号 * 的变量args会存放所有未命名的变量参数 args为元组 而加**的变量kwargs会存放命名参数 即形如key value的参数 kwargs为字典(**).不定长参数 *args
不定长参数* * kwargs
注意参数传递的对应
注意不加 * 与上面的区别
缺省参数在*args后面
假如缺省参数在*args前面
参数位置顺序格式
def 位置参数,*args,缺省参数,**kwargs


