python序列解包_Python_序列与映射的解包操作

解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如:

first, seconde, *rest = sequence

如果sequence里至少有三个元素,那么执行完上述代码后,first == sequence[0], second == sequence[0], rest == sequence[2:]。

函数接收不确定参数

当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。

#!/usr/bin/python

# -*- coding:utf-8 -*-

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

'''

当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。

'''

def fun_var_args_kwargs(data1, *args, **kwargs):

print 'data1:', type(data1), data1

print '*args:', type(args), args

print '**kwargs:', type(kwargs), kwargs

fun_var_args_kwargs('this is data1', 2, '3', 4.0, k1='value1', k2='value2')

print '-------------'

def print_args(*args, **kwargs):

print args.__class__.__name__, args, kwargs.__class__.__name__, kwargs

print_args()

print_args(1, 2, 3, a='A')

打印结果:

data1: this is data1

*args: (2, '3', 4.0)

**kwargs: {'k2': 'value2', 'k1': 'value1'}

-------------

tuple () dict {}

tuple (1, 2, 3) dict {'a': 'A'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值