언패킹은 시퀀스 또는 맵의 각 요소를 별도로 추출하는 것입니다. 시퀀스 언패킹을 사용하는 간단한 방법은 처음 또는 처음 몇 개의 요소와 다음 요소를 별도로 추출하는 것입니다. 예:
first, seconde , *rest = 시퀀스
순차적으로 3개 이상의 요소가 있는 경우 위 코드를 실행한 후 첫 번째 == 시퀀스[0], 두 번째 == 시퀀스[0], 나머지 == 시퀀스[2 :].
함수가 불확실한 매개변수를 받습니다
함수의 매개변수가 불확실한 경우 *args 및 **kwargs를 사용할 수 있습니다. *args에는 키 값이 없고 **kwargs에는 키가 있습니다. 값.
#!/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: <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'}