函数可以分为内置函数 和 自定义函数。这次关注的主要是自定义函数。定义函数之后,就可以在任何需要它的地方调用。
1 返回值的重要性
返回值的3种情况
没有返回值 ---- 返回None
不定 return
只写 return :结束一个函数
return None ---- 不常用
只有一个返回值
可以返回任何数据类型
只要返回就可以接收到
如果一个函数中有多个return ,那么只执行第一个
返回多个值
用多个变量接收:有多少个返回值就用多少个变量接收
用一个变量接收:得到一个元组
2 参数
形参:
实参:
没有参数
定义函数和调用函数时括号里都不写内容
有一个参数
传什么就是什么
有多个参数
位置参数
站在实参的角度上:
按照位置传参
按照关键字传参
混着用是可以的,但是必须先按照位置传参,再按照关键字传参数;不能可以同一个变量传多个值
站在形参的角度上:
位置参数:必须传,且有几个参数就要传几个值
默认参数:可以不传,如果不传就用默认参数,传了就用传的
只有调用函数时候:
按照位置传:直接写参数的值
按照关键字传:关键字 = 值
定义函数的时候:
位置参数:直接定义参数
默认参数,关键字参数: 参数名 = ‘默认的值’
动态参数:可以接受任意多个参数
参数名前加 * ,习惯用 *args(接收的是按照位置传参的值,组织成一个元组)
参数名前加 ** ,习惯用 **kwargs(接收的是按照关键字传参的值,组织成一个字典)
顺序:位置参数,*args,默认参数,**kwargs
在形参的角度上,给变量加上一个 * ,就是组合所有传过来的值
在实参的角度上,给一个序列加上 * ,就是将这个序列按照顺序打散
3 函数的注释
def func()
‘‘‘‘
这个函数实现了什么功能
参数1:......
参数2:......
return:返回的东西是什么
‘‘‘
原文地址:https://www.cnblogs.com/YS-0717/p/9418411.html