Python函数进阶

Python函数进阶

函数的多返回值

def num(a, b):
    return a + b, a - b, a * b, a / b
    

x, y, z, w = num(4, 2)
print(x, y, z, w)
# 结果:6 2 8 2.0

函数的多种传参方式

位置参数(最普通的方式):

def num(a, b):
	return a + b

print(num(4, 2))

关键字参数(键=值方式)eg:print(xxx, end = ' '),参数之间无顺序要求,位置参数与关键字参数混用,位置参数需要在前面:

def sayHello(name, age, gender):
	print(f"Hello everyone.My name is {name},My age is {age}.My gender is {gender}")

sayHello('XXX', gender = '男', age = 18)

默认参数,默认参数需要在最后面:

def sayHello(name, age, gender = '男'):
    print(f"Hello everyone.My name is {name},My age is{age}.My gender is {gender}")
    
sayHello('aaa', 18)
sayHello('bbb', 19, '女')


不定长参数:
	位置传递不定长:一个*,以元组的形式接受参数
	
def user_info(*args):
	print(args)

user_info('TOM')
user_info('TOM', 18)

	关键字传递不定长:** 参数是键=值的形式,以字典的形式接受参数
	
def user_info(**kwargs):
    print(kwargs)


user_info(name='TOM')
user_info(name='TOM', age=18)

匿名函数

函数作为参数传递

将函数作为参数传递,实现了数据的确定,但处理逻辑不确定

普通的参数传递是实现了数据的传递,而不是处理逻辑的传递

def test_fun(arg1):
    res = arg1(1, 2)
    print(res)
    

def add(a, b):
    return a + b


def sub(a, b):
    return a - b


def mul(a, b):
    return a * b


def div(a, b):
    return a / b

test_fun(add)
test_fun(sub)
test_fun(mul)
test_fun(div)

lambda匿名函数

无名称,只可以临时使用一次

格式:
lambda 传入参数:函数体(一行代码)
eg1:

def test_fun(arg1):
    res = arg1(1, 2)
    print(res)
   

test_fun(lambda a, b: a + b) # 匿名函数,默认有return


eg2:
fun = lambda a, b: a + b
res = fun(1, 2)
print(res)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值