Das Entpacken besteht darin, jedes Element in einer Sequenz oder Map separat zu extrahieren. Eine einfache Möglichkeit, das Entpacken der Sequenz zu verwenden, besteht darin, das erste oder die ersten paar Elemente und die folgenden Elemente separat zu extrahieren, zum Beispiel:
erstes, zweites , *rest = sequence
Wenn mindestens drei Elemente in Folge vorhanden sind, gilt nach der Ausführung des obigen Codes zunächst == sequence[0], zweitens == sequence[0], rest == sequence[2 :].
Die Funktion empfängt unsichere Parameter
Wenn die Parameter der Funktion unsicher sind, können Sie *args und **kwargs verwenden. *args hat keinen Schlüsselwert und **kwargs hat einen Schlüssel Wert.
#!/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')
Druckergebnis:
data1: <type 'str'> this is data1 *args: <type 'tuple'> (2, '3', 4.0) **kwargs: <type 'dict'> {'k2': 'value2', 'k1': 'value1'} ------------- tuple () dict {} tuple (1, 2, 3) dict {'a': 'A'}