Python数据容器真的好多,那相比今天的内容就少的多了,愉快进入学习吧
默念功法
知不足而奋进,望远山而前行
1.函数多返回值
问题带入
那么我就是要写多个返回值,我就要写~!!!!
这样搞
代码演示:
# 演示使用多个变量,接收多个返回值
def test_return():
return 1, "hello", True
x = test_return()
# x, y = test_return()
print(f"一个变量接收{x}")
# 如果不为一,不可以不对应
# print(f"{x},{y}") 报错too many values to unpack (expected 2)
x, y, z = test_return()
print(f"分别是{x},{y},{z}")
2.函数多种传参方式
(1)位置参数
用了一万年了,并且java和C++都是这种我就不演示代码了
(2)关键字参数
def user_info(name, age, sex):
print(f"姓名是:{name},年龄是:{age},性别是:{sex}")
# 关键字传参
user_info(name='ly', age=11, sex='女')
# 可以不按顺序
user_info(age=19, name='xx', sex='未知')
# 可以和位置传参混用
user_info('无名氏', age=38, sex='你猜')
(3)缺省参数
如若要使用默认值,那么必须置于最后,或者连续几个放在最后
# 缺省参数
def user_info1(age, sex="未知", name='gg'):
print("报错")
# 因为如果要使用默认参数,必须要将他放到最后
def user_info2(age, sex="未知", name='gg'):
print(f"姓名是:{name},年龄是:{age},性别是:{sex}")
def user_info(name, age, sex="未知"):
print(f"姓名是:{name},年龄是:{age},性别是:{sex}")
user_info('小杰', 13)
user_info2(15)
(4)不定长参数
1.位置传递的不定长
args默认是一个元组类型
# 1.位置不定长
def user_info(*args):
print(f"args参数类型是:{type(args)},内容是{args}")
user_info(1, 2, 3, 'lly')
2.关键字传递不定长
kwargs默认是一个字典类型
# 2.关键字不定长
def user_info1(**kwargs):
print(f"kwargs参数类型是:{type(kwargs)},内容是{kwargs}")
user_info1(name='小王', id=1)
3.匿名函数
(1)函数作为参数传递
如何做呢
所以,这是一种计算逻辑的传递,而不是数据的传递
代码示例
# 定义一个函数,接收另一个函数作为传入参数
def test_func(compute):
result = compute(1, 2)
print(f"compute是什么类型:{type(compute)}")
print(f"结算结果:{result}")
# 定义一个函数,准备作为参数传入另一个函数
def compute(x, y):
return x + y
# 调用,并传入函数
# test_func(compute()) 不能带括号,会报错的
test_func(compute)
(2)lambda匿名函数
语法
具体应用
代码示例
# 通过lambda匿名函数的形式,将匿名函数作为参数传入
test_func(lambda x, y: x + y)
结语
这就是全部的函数进阶部分的内容的,其实也不多,很好理解,那就这样吧
ヾ( ̄▽ ̄)Bye~Bye~