1
定义阶段只检测语法,不执行代码
2
函数返回值return
返回值没有任何类型限制,返回多个数据需要用元组包上
return({'a':1,1,'a',[1,2]})
return的效果有终止函数的执行,只能返回一次值
3
形参与实参
def func(x,y): 形参
func(1,2) 实参
4
位置参数
按照从左到右的顺序依次定义的参数,按位置定义的形参,必须被传值,多一个不行,少一个也不行
按位置定义的实参,与形参一一对应
5
关键字参数:实参定义时,按照key=value形式定义
关键字参数可以不用像位置 实参一样与实参一一对应,指明道姓地传值
注意问题一: 位置实参必须在关键字实参的前面
注意问题二: 实参的形式既可以用位置实参又可以是关键字实参,但是一个形参不能重复传值
6
默认参数(形参): 在定义函数阶段,就已经为形参赋值,定义阶段有值,调用阶段可以不用传值
默认参数注意的问题一: 参数必须放在位置形参后面
默认参数注意的问题二: 默认参数通常要定义成不可变类型
默认参数注意的问题三: 默认参数只在定义阶段被赋值一次
7
可变长参数: 可变长指的是实参的个数不固定
按位置定义的可变长度的实参: *
按关键字定义的可变长度实参: **
8
命名关键字参数: 定义在*后面的形参,这类形参,必须被传值,而且要求实参必须是以关键字的形式来传值
END