python#Day5

函数基础(下)

1.函数的基本类型
2.局部变量
3.全局变量
4.引用
5.匿名函数
6.递归函数

函数的基本类型

1.无参数,无返回值,一般用于提示信息打印
2.无参数,有返回值,多用在数据采集,比如获取系统信息
3.有参数,无返回值,多用在设置某些不需要返回值的参数设置
4.有参数,有返回值,一般是计算型的,需要参数,最终也需要返回的结果

#无参数,无返回值
def mvprint():
	print("-"*20)

#无参数,有返回值
def mycpu():
	#获取cpu信息
	return info

#有参数,无返回值
def set(a):
	pass

#有参数,有返回值
def cal(a,b):
	c = a + b
	return  c

局部变量和全局变量

1.局部变量: 是在函数内部定义的变量,作用域仅仅局限于函数内部(仅在调用对应函数时才可以御用)
①不同函数,可以定义相同的局部变量,但互相不会产生影响
②为了临时保存数据,需要在函数种定义来进行存储

def printinfo():
	name='peter'
	print('{}'.format(name))
	pass

def TestMethod():
	name='刘德华'
	print(name)
	psss

printinfo()
Testmethod()

结果

'peter'
'刘德华'

2.全局变量:定义在函数之外的变量,
局部变量的优先级高于全局变量,当全局变量和局部变量出现重复命名时,程序会优先执行函数内部定义的变量

在函数中修改全局变量

pro='计算机科学'
def change_global():
	global pro
	pro='打游戏'

引用重要

在python当中,万物皆对象,在函数调用的时候,实参传递的就是对象的引用,即地址
函数内部的处理是否会影响到函数外部的数据变化
str, int, float,元组在传递参数时,数据和地址都是唯一的,列表和字典在传递参数时,数据可变,但地址不变

匿名函数

1.python 中使用lambda关键字创建匿名函数,
所谓匿名即这个函数没有名字不用def关键字创建标准的函数

lambda 参数1,参数2,参数3: 代码表达式
①匿名函数冒号后面的表达式有且只有一个,是表达式,不是语句
②匿名函数自带return,而这个return的结果就是表达式计算后的结果
示例
利用lambda表达式计算两个数的和:

test=lambda x,y:x+y #用变量去调用匿名函数
test(1,3)
test(4,5)

普通情况

def test(x,y):
	return x+y

2.延申
lambda 与三元运算
如下语句

if a:
	b
else:
	c

用lambda等效表达

b if a else c

这样的表达式(三元运算)能够放在lambda中,它们能够在lambda函数中来实现选择逻辑:

age=25
print('大于24' if age>24 else '小于24') #可以实现

greater=(lambda x,y:x if x>y else y)
print(greater(3,5))
greater=(lambda x,y:x if x>y else y)(3,5)
print(geater) #两者结果一样

递归函数

如果一个函数在内部不调用其他的函数,而是自己本身的话,这个函数就是递归函数
递归函数必须有一个结束条件,否则无法结束,直到达到最大递归深度然后报错
示例

#求阶乘5!=5*4*3*2*1
def factorial(n):
	if n==1:
		return 1
	return n*factorial(n-1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值