#返回值的3种情况
# 没有返回值——返回None
# 不写return
# 只写return:结束一个函数的继续(break结束循环)
# return None —— 不常用
# 返回1个值
# 可以返回任何书籍类型
# 只要返回就可以接收到
# 如果在一个程序中有多个return,只执行第一个
#返回多个值
# 用多个变量接收:有多少返回值就用多少个变量接收
# 用一个变量接收:得到的是一个元组
站在实参的角度上:
# 按照位置传参
#按照关键字传参
#动态参数 *args
#混着用可以:但是必须先按照位置传参 再按照关键字传参 不能给同一个变量传多个值
站在形参的角度上:
#位置参数:必须传且有几个参数就传几个值
#默认参数:可以不传,如果不传就用默认参数,如果传了就用传的
只有调用函数的时候:
#按照位置传: 直接写参数的值
#按照关键字: 关键字 = 值
定义函数的时候:
#位置参数: 直接定义参数
#默认参数: 关键字参数:参数名 = ‘默认的值’
#动态参数:
站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散
站在形参的角度上,给变量加上*,就是组合所有传来的值。
可以接收任意多个参数
1. 接收按照位置传参的值传输: -参数名之前加* 习惯用*args组成一个元组
2.接收按照关键字传参的值**kwargs直接传字典
3.args必须在kwargs之前
#顺序:必须先定位置参数,然后是*args,然后定义默认参数 ,最后是**kwargs
函数的注释
‘’‘’
这个函数实现了什么功能
参数1:什么数据类型和作用
参数2:
返回值:是字符串或者列表的长度
‘’‘’