def name(args...):
todo something...
return
- 有返回值的函数可以直接赋值给一个变量,变量的类型不是function,而是返回值的类型。没有返回值的函数赋值给变量,变量是None
- 默认参数def name(a,b=1),如果b不传则b默认为1,如果b传值了,则b=传的值。a值必传参数
- 不确定参数-可变参数:def name(*a,**b): *a代表将无参数名的值合并成元组,**b将有参数名的值合并成字典。a,b默认是空的元组和字段。如果想直接传入元组和字段则这样调用:name(*a,**b),如果直接name(a,b)会将a,b合并成元组作为参数
- 参数规则:def(a,b=1,*args,**kwargs)参数的定义从左到右依次是必传参数,默认参数,可变元组参数,可变字典参数。如果调用的时候参数顺序跟定义的不一样,则必须指定参数名,否则报错
- 参数定义类型的方法def name(a:str,b:int=2)这种定义只是单纯的告诉调用者该传什么类型,函数调用的时候不会对参数类型进行验证,这个定义是在python3.7以后可用。
- 全局变量与局部变量:(字符串、数字、布尔、None、集合)类型全局变量不可以在函数内部被修改,如果想修改用global关键字,字典和列表类型全局变量可以在函数中修改
- 函数加了括号才会被执行
- 函数可以返回多个变量,可以用多个变量(加逗号隔开)接收,如果用一个变量接收会生成一个元组
- 匿名函数lambda:定义一个轻量化的函数,即用即删除,适合需要完成一项功能,但是这个功能只在此一处使用。匿名函数定义:
内置函数:isinstace(变量,类型)返回boolean