函数的概述
函数:对某一个特定的功能或者代码块进行封装,在需要使用该共的时候直接调用即可
语法:
def 函数的名字():
被封装的功能或者代码块->函数体
定义之后必须调用才能输出
调用:
函数的名字()
好处:让程序更加简洁,代码更加合理,增强可读性
函数的参数
参数
可以在函数调用的时候,给函数传递一些信息
分类
1. 实参
实际在调用的时候传递的信息
① 位置参数,按照位置进行参数传递
② 关键字参数,按照参数的名字进行传递参数
③ 混合参数,位置参数放前面,关键字参数放后面 -> 否则报错
实参在执行的时候,必须要保障形参有数据
2. 形参
在函数定义的时候,需要准备一些变量来接受信息
① 位置参数
按照位置,一个一个的去声明变量
② 默认值参数
在函数声明的时候给变量一个默认值,如果实参不传递信息,此时默认值生效,否则就不生效
③ 动态传参
㈠ *args
* 表示位置参数的动态传参,*接收到的支会被同意放在一个元组里面
㈡ **kwargs
** 表示关键字参数的动态传参,**接收到的所有参数都会被处理成字典
顺序:位置函数 -> *args -> 默认值函数 -> **kwargs
上述参数可以随意使用
返回值
函数执行之后,会给调用一个结果,这个结果就是返回值
关于return
函数只要执行到了return,函数就会立即停止并返回内容,函数内的return的后续的代码就不会执行
1. 如果函数内没有return,此时外界收到的是None
2. 如果写了return:
① 只写了return,后面不跟数据,此时接受到的是None -> 相当于break
② return 值,此时表示函数有一个返回值,外界能够收到一个值 -> 用的最多
③ return 值1,值2,值3……,此时函数有多个返回值,外界收到的是元组,并且该元组内存放所有的返回值
内置函数
直接能拿来用的函数(print,input,bool... )
进制:bin->二进制(0b) oct->八进制(0o) hex->十六进制(0x)
frozenset不可变的集合
print(all([0, "", '豆沙包'])) # 可以把all当成and
print(any([0, "", ""])) # 可以把any当成or