九:函数、参数及参数解构、返回值、作用域
知识前导总结:
- 内置函数callable():判断某个对象是否可调用!
总结:
- 混合使用参数时,可变参数要放到参数列表的最后,普通参数需要放到参数列表前面,位置可变参数需要在关键字可变参数之前
- 参数列表参数一般顺序是:
普通参数–>缺省参数–>可变位置参数–>keyword-only参数–>可变关键字参数
add(3, y=4)#正确
add(y=4, 3)#错误
def add(username, *args, **kwargs)#正确
def add(passwd, username='tom', *args)#正确
def add(username, **kwargs, *args)#错误
def add(name='tom', passwd)#错误
- 参数解构:给函数提供实参的时候,可以在集合类型前使用或者*,把集合类型的结构解开,提取出所有元素作为函数的实参
1,函数:
Python函数:
- 由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元
- 组织代码完成复杂任务
函数的作用:
- 结构化编程对代码的最基本的封装,一般按照功能组织一段代码
- 封装的目的为了复用,减少冗余代码,让代码可读易懂
函数的分类:
内建函数:如max()、reversed()等
库函数:如math.ceil()
函数的定义和调用:
格式:
def 函数名(形参列表):
函数体
[return 返回值]
1,函数名就是标识符
2,语句块必须缩进,约定4个空格
3,Python的函数没有给return语句时,隐式返回一个None值
4,定义中的参数列表称为形式参数,只是一种符号表达,简称形参
函数调用:
1,函数定义,只是声明了一个函数,它不会自动执行,需要调用
2,调用的方式,就是函数名加上小括号,括号内给出参数
3,调用时写的参数是实际参数,简称实参
例如:
def add(x, y):
result = x + y
return result
调用函数
print(add(4, 5))
函数参数:
1,参数调用时传入的参数要和定义的个数相匹配(可变参数例外)
重点:
1,实参:位置参数必须在关键字参数之前传入,且位置参数是按位置对应的
不能给同一个形参传入2次的实参!
add(x=3,4)#错误
add(4, x=4)#正确
2,形参:
位置参数:
def add(x, y)调用时使用:add(4, 5)
1,位置参数必须要给出相同的个数,即定义多少个形参,就必须给出多少个实参
2,传参的同时,是按照定义的顺序传入的
关键字参数:
def add(x, y)调用时使用:add(x=4, y=5)
1,如果使用了形参名字,传参顺序就可以和定义的顺序不一致
参数默认值: