Python 参数的拆包

什么是拆包

拆包: 对于函数中的多个返回数据, 去掉元组, 列表 或者字典 直接获取里面数据的过程.

怎么拆包

1) 对列表进行拆包

my_list = [1, 3.14, "hello", True]
num, pi, my_str, my_bool = my_list
# 或者
num, pi, my_str, my_bool = [1, 3.14, "hello", True]

2) 对元组进行拆包

my_tuple = (1, 3.14, "hello", True)
num, pi, my_str, my_bool = my_tuple

3) 对字典进行拆包

my_dict = {"name":"老王", "age": 19}
ret1, ret2 = my_dict
# 得到的是key  字典是无序的
print(ret1, ret2)

结果

name age

4) 用拆包的形式定义变量

# 一次定义多个变量 num1 = 10 num2 = 20 num3 = 30 num4 = 3.14 # # 变量名和值是一一对应 num1, num2, num3, num4 = 10, 20, 30, 3.14

 

5) 函数返回元组时直接拆包

对元组拆包:

def get_my_info():
    high = 178
    weight = 100
    age = 18
    return high, weight, age

# 这一步叫做拆包: 
my_high, my_weight, my_age = get_my_info()
print(my_high)
print(my_weight)
print(my_age)

结果

178
100
18

也可以对列表或者字典拆包:

def function1():
    return [1, 2, 3]
def function2():
    return {"key1": 1, "key2": 2, "key3": 3}

# 调用函数,获取里面的数据
num1, num2, num3 = function1()
print(num1, num2, num3)

# 调用函数,获取里面的数据
ret1, ret2, ret3 = function2()
print(ret1, ret2, ret3)

结果:

1 2 3
key1 key2 key3

注意:

拆包时要注意,需要拆的数据的个数要与变量的个数相同,否则程序会异常

除了对元组拆包之外,还可以对列表、字典等拆包

对字典拆包后获取的是字典的key值, 而不是value值

6. 对传入的参数进行拆包

def fun(*args):
    sum =1
    for item in args:
        sum *= int(item)
        print(sum)
    return sum%20
data = input("请输入数字: ").split(",")
#拆包
print(fun(*data))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值