Python函数

一、定义函数

1.不带参数

	语法: def 函数名():
	def say():
		print("世界真美好")
		
	调用函数:   注1:必须放到定义函数的后面
		say()

在这里插入图片描述

2.带一个参数的函数 注2:函数和函数之间空格两行

语法: def 函数名(参数): def say(what): print(f"{what}")
调用函数:调用带参数的函数,如果不带参数过去,编译不报错,但是运行报错(跟java不同) say(“真好”)
在这里插入图片描述

3.带两个参数的函数

def test(a, b): print(f"a={a}") print(f"b={b}") 调用函数:
1.位置方式
test(22, 11)
在这里插入图片描述

2.关键字方式
test(b=22, a=11)

在这里插入图片描述

3.缺省参数(默认值)

注意:有默认值的参数必须放在没有默认值参数的后面

def test(a, b=444): #test(b=11,11) 错误:因为b有默认值
test(11,b=11)
在这里插入图片描述

4.可变参数

1.参数是元组类型
def test1(*args):
“”“这是一个求多个值和的函数”""
sum = 0
for i in args:
sum += i
else:
print(f"和为{sum}")
调用函数:
print(test1(1, 2, 3))

在这里插入图片描述

2.参数为字典类型
def test2(**kwargs):
for k, v in kwargs.items():
print(k, v)
调用函数:
test2(name=“zs”, age=19)

在这里插入图片描述

二、函数返回值

函数的说明文档:
help(print())

1.返回值为多个(跟java不同)

def test3(a, b, c):
			"""
			这是一个测试函数,测试函数为多个返回值
			:param a:1
			:param b:2
			:param c:3
			:return: 返回多个值
			"""
			a += 100
			b += 100
			c += 100
			return a, b, c
			help(test3)

在这里插入图片描述

三、函数嵌套调用

	def test1(*args):
		"""这是一个求多个值和的函数"""
		sum = 0
		for i in args[0]:
			sum += i
		else:
			# print(f"和为{sum}")
			#         返回值
			return sum
	
	# 计算多个值的平均值
	def test4(*args):
		sum = test1(args)
		return sum / len(args)   

	print(test4(12,5,3))

在这里插入图片描述

四、测试变量范围

	a=9
	def test5():
		# 在函数内部修改全局变量的值
		# 必须声明 变量为全局变量
		global a
		a = 333
		print(f"函数内:{a},地址为:{id(a)}")


	print(f"函数外:{a},地址为:{id(a)}")

	test5()

	print(f"函数外:{a},地址为:{id(a)}")
	

在这里插入图片描述

五、递归:函数内部调用函数本身

	# 求某个数以内的和
	def test6(num):
		if num == 1:
			return 1
		return num + test6(num - 1)

	调用递归函数:
	print(test6(100))

在这里插入图片描述

六、lambda表达式

(匿名函数,如果一个函数有一个返回值,并且只有一句代码,就可以使用lanbda表达式简化)
语法:变量名=lambda: 表达式/返回值 注:参数可以省略

1.不带参数的函数

say = lambda: "真美好"
print(say())
		注:跟def定义的函数的调用方式有区别

在这里插入图片描述

2.带一个参数的函数

		say = lambda what: f"你说:{what}"
		
		print(say()) 

在这里插入图片描述

3.带两个参数的函数

		test6 = lambda a,b=222: f"a={a},b={b}"
		
		print(test6(1,2))

在这里插入图片描述

4.带条件的lambda

		test7 = lambda a,b : a if a > b else b
		
		print(test7(1,2))

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值