zoukankan      html  css  js  c++  java
  • Python 序列与映射的解包操作-乾颐堂

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

    first, seconde, *rest = sequence

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

    函数接收不确定参数

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #!/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(123, a='A')

    打印结果:

    1
    2
    3
    4
    5
    6
    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'}

    http://www.qytang.com/
    http://www.qytang.com/cn/list/29/

    http://www.qytang.com/cn/list/28/428.htm
    http://www.qytang.com/cn/list/28/426.htm
    http://www.qytang.com/cn/list/28/425.htm
    http://www.qytang.com/cn/list/28/424.htm
    http://www.qytang.com/cn/list/28/423.htm
    http://www.qytang.com/cn/list/28/422.htm
    http://www.qytang.com/cn/list/28/421.htm
    http://www.qytang.com/cn/list/28/420.htm
    http://www.qytang.com/cn/list/28/417.htm
    http://www.qytang.com/cn/list/28/416.htm
    http://www.qytang.com/cn/list/28/407.htm
    http://www.qytang.com/cn/list/28/403.htm

  • 相关阅读:
    2018-2-13-win10-uwp-如何让WebView标识win10手机
    2018-2-13-win10-uwp-如何让WebView标识win10手机
    2018-3-22-win10-uwp-设置-HttpClient-浏览器标识
    2018-3-22-win10-uwp-设置-HttpClient-浏览器标识
    2018-2-13-WPF-获得触笔悬停元素上
    2018-2-13-WPF-获得触笔悬停元素上
    ACM-ICPC 2019 山东省省赛总结
    ACM-ICPC 2019 山东省省赛总结
    ACM-ICPC 2019 山东省省赛D Game on a Graph
    ACM-ICPC 2019 山东省省赛D Game on a Graph
  • 原文地址:https://www.cnblogs.com/qytang/p/5567036.html
Copyright © 2011-2022 走看看