函数的定义:
def 函数名() : #定义函数的固定格式
运行参数
详解:
def 表示告诉python这是一个函数
函数名 告诉python我这个函数的名字,以后我要是调用这个名字,直接使用这个函数中的代码
() 设置参数的内容
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192324270-308656309.png)
使用自定义的函数
函数名() 直接使用函数名()即可进行调用
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192341667-833140209.png)
函数的返回值
return 返回值 #任何时候函数都会有一个返回值,无论你是否已定义,如未定义,将返回一个None,当函数执行了return之后,函数终止,无论return之后有多少行代码均直接略过
例1: 未指定返回值
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192407813-1986930984.png)
例2:指定了返回值
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192433067-1830749875.png)
例3:return之后函数结束之后的所有代码都不执行
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192502496-683298384.png)
函数的参数:
阅读本节内容请牢记一下内容
1、形参 : 必备参数,在定义函数时定义的一个需要接受的参数,形参可以接收任何数据类型,一个函数可以设置多个形参
形参样式 : def fuc( 形参 ) 在定义函数时括号中写的参数,就是形参,多个形参用逗号隔开
2、实参: 传递参数 ,在调用函数式给予的值,一个形参对应一个实参
实参样式: fuc(实参) 在调用函数时传递的参数,一个形参对应一个实参
3、默认参数:在定义函数时提前设置好属性的参数,在调用时,可不填写
默认参数样式 : def fuc( 形参 = 参数值 ) 在定义函数的参数值直接给他一个值,在调用函数式如无需要,可不填写实参
4、不定长参数:当传递的参数过多时,用于接收多余参数
不定长参数格式:*args **kwargs
def 函数名(形参): 一个函数可以设置多个形参,形参可以接收任意类型数据
例:
---------------------------------------------------------------------------
输出结果:
这是调用函数时传递的实参
def 函数名(形参,默认参数):
参数在定义时可以直接将参数赋值,这样在调用的时候可以不填写实参,如不填写实参,输出的数据将按照默认参数提供的数据进行执行
例1:设置默认函数,在调用时不传递
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192848030-1890140461.png)
例2:设置默认参数,在调用时重新给他传递参数
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524192921111-574453695.png)
def 函数名(形参,默认参数,*不定长参数):
不定长参数一般用来接收多传递的实参,用于对传递的实参进行冗余处理
例1:设置不定长参数来对传递的实参进行冗余处理
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524193020460-1536549626.png)
还是同样一个函数,给他传递了三个值以后
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524193042376-795342396.png)
这种情况下给他加一个不定长参数*args用来接收多传递的实参后运行结果如下
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524193104860-257235947.png)
def函数名(形参,**不定长参数):
**kwargs 用来接收指定参数接收某个值时传递过多的参数
![](https://images2018.cnblogs.com/blog/1389638/201805/1389638-20180524193225262-2125664720.png)