Python中自定义函数参数类型
函数:函数是组织好的,可以重复使用的,用来实现单一的或相关联功能的代码段。
函数可以提升代码的复用率,提升代码的模块性,提升代码可维护性
使用def 关键字定义函数,例如:def func1():
形参:定义在函数的参数列表中,只表示某一数据类型,没有具体的值,没有实际意义
实参:调用函数,给函数传入的具有实际值的参数。
函数不能执行,只能调用
return:返回函数执行的结果,在return的同时,会终止函数执行
return可以同时返回多个值,返回多个值赋值给一个变量,则改变量会定义为一个元组。
返回的多个值可以一一对应赋值给多个变量。
当函数没有返回值时,默认返回None。
python中定义的函数称为内置函数,自己实现的函数称为自定义函数。
if __name__ == '__main__',这个语句中,__name__是模块的属性,直接在本模块内执行时
__name__的值就是'__main__',当模块被导入执行时,__name__的值就是被导入模块名。
函数的参数类型:
必须参数:必须参数是必须以一一对应的关系一个一个传递进入函数,数量上不能多不能少,
函数调用时传入的实参数据类型必须与形参保持一致,顺序也必须一致。
关键字参数:关键字参数是实参中的概念,在函数调用时,声明某个实参是赋值给某个形参的,使用
关键字参数允许调用函数时实参的传参顺序与形参不一致。
默认参数:默认参数是函数定义时,可以给形参设定默认值,这种参数称为默认参数。当调用函数时,如果
默认参数没有接收到传入的实参,那么默认参数将被赋值为默认值,如果默认参数接收到传入的
实参,那么传入的实参将赋值给默认参数。默认参数必须在必须参数的后面。
不定长参数:
*args:在python中,函数在声明时,参数可以使用*变量名的形式来接收不确定个数的参数,在python
中约定俗成使用*args来表示。当args接收到传入的确定个数的参数时,会将这些参数放到一个
元组里,可以通过访问元组来获取参数值。
**kwargs:在python是**变量名来接收不定长个数的命名变量参数,约定俗成使用**kwargs,当kwargs
接收了不定个数的命名变量参数后,会将这些参数放到字典里,可以通过key获取相应的值。
当函数中需要定义多种类型的形参时,必须遵守以下顺序:必须参数—默认参数–*args—**kwargs
递归:函数中自己调用自己
lambda函数(匿名函数):是一个表达式,函数体比def定义的函数简单的多。
lambda函数的主体是一个表达式而不是代码块。
lambda函数起到了一个函数速写的作用,允许在代码内嵌入一个函数。
异常处理:
异常是一个事件,发生在程序运行过程当中,异常一旦发生,就会影响程序执行。
异常处理:抛出异常,捕获异常
try….except(捕获所有异常):try后是被检测的可能有异常的代码,如果try后的代码出现异常,
except就可以捕获异常,当异常捕获后,except后的代码会先执行。
try….except as e: 将捕获的异常用e表示。
try….except…finally:当异常发生时,except下的代码会执行,不管有没有异常,finally下的代码都会执行
raise :抛出异常
raise Exception("XXXXXX") 抛出自定义的异常信息
来源:成为自己的风