python函数--基本概念

函数:为了实现某一特定功能的代码块,而函数就是实现这个功能的过程
函数出现的原因:为了简化多次重复的代码或功能相同的代码,将其定义为一个片段,然后在需要时调用
定义:	def 函数名([参数(形参)列表]):
				#函数体,实现某功能的代码块,可以有返回值,通过return返回,也可以没有,直接在函数体内将结果打印,而且返回值不同于其他语言,可以有多个
				#多个返回值使用,调用时:a,b,c = 函数名([参数(实参)列表])	#此处三个返回值
函数分类:
	1.参数:
		无参函数:也就是说定义时参数列表为空,调用时也不用传递实参,一般调用这种函数结果都会在函数体里完成并打印出来
		有参函数:有参函数参数类型有普通参数,默认参数,可变参数,命名参数
				![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225124626467.png)
				其中:a是普通参数,由传递过来的实参决定其值
						   PI是默认值参数,这个参数调用时可以传递可以不传递,传递值则为传递过来的参数,不传递,值则默认为3.14
						   *args是可变参数,为了预留或者参数传递过剩,比如,当函数功能需要修改时,可以将多余的参数传递到此内,保存为一个列表;或者参数传递的实参比形参多,则将多余存在其内;此外变量名为args不是加上星号表示这是一个可变参数
						   ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225125513567.png)
						   命名参数:调用时  变量名 = "参数",以字典形式存在其内	
					而以上四种参数顺序必须按照以上顺序,不一定所有参数都一定要有,没有的可以跳过
	2.返回值
		无返回值:
			无返回值比较简单,不用返回结果,直接将结果打印到控制台,在函数体内完成
		有返回值:
			有返回值,这种函数比较常见,也是较为理想的函数,函数只实现运算过程,不参与其他,运算的结果通过return将结果返回,而python和其他语言不一样,可以返回多个返回值,通过多个变量来接收返回值
调用:	
	无返回值调用:函数名(参数)
	有返回值调用:需要用一个变量来接收返回值;例:a = 函数名(参数)
	调用过程:
		函数存放于堆中,但调用时,先压栈到栈中,运行完出栈返回堆中,但是,如果在调用函数是,使用了函数外的变量,不要改变其变量值,但到需要改变时,要在函数内声明这是个全局变量,使用global声明;例:global 全局变量名
		全局变量和局部变量:全局变量指在整个程序中都能够使用的变量,适用范围为整个程序;局部变量指在某段代码中定义的,比如在一个循环中定义一个index变量,index则只能在循环中使用,适用范围则只有该循环;而且在使用局部变量后面的代码中,全局变量仍可以使用这个变量名,互不干扰,但在此之前,如果使用同名全局变量,则表示循环内使用的是那个全局变量,而不是定义了一个局部变量。此中所说的前后指的是顺序执行的顺序。
递归函数:在一个函数中调用函数本身,但在使用递归函数时,必须要有个条件来终止,苟泽函数将无限执行,但在python中执行千次则认为此函数无法结束,直接结束
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225133330413.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU0MzA4OQ==,size_16,color_FFFFFF,t_70)	
以上便是一个通过递归完成1到100的乘积运算的案例
匿名函数:就是不定义函数,直接通过lambda表达式使用
	lambda[参数列表]:函数体
	使用案例:
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225134855338.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值