Python 序列与映射的解包操作

高洛峰
Libérer: 2016-10-18 09:17:43
original
1367 Les gens l'ont consulté

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

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')
Copier après la connexion

打印结果:

data1: <type &#39;str&#39;> this is data1
*args: <type &#39;tuple&#39;> (2, &#39;3&#39;, 4.0)
**kwargs: <type &#39;dict&#39;> {&#39;k2&#39;: &#39;value2&#39;, &#39;k1&#39;: &#39;value1&#39;}
-------------
tuple () dict {}
tuple (1, 2, 3) dict {&#39;a&#39;: &#39;A&#39;}
Copier après la connexion


   


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!