zoukankan      html  css  js  c++  java
  • python *和**的用法

    1.使用场景
    *和**用在函数参数列表中

    2.*作函数参数
    以列表的形式提供参数

    def foo(*args):
        for arg in args:
            print(arg)
    
    foo(1, 2, 3)
    

    运行结果:

    3.**作函数参数
    以关键字参数的形式提供参数

    def foo(**kwargs):
        for arg in kwargs:
            print(arg, kwargs[arg])
    
    foo(num1=1, num2=2, num3=3)
    

    运行结果:

    4.json格式转关键字参数

    def foo(**kwargs):
        for arg in kwargs:
            print(arg, kwargs[arg])
    
    _t = {"name":"shijingjing", "age":20}
    foo(name="shijingjing",age=20)
    foo(**_t)
    

    运行结果:

    5.*和混用作函数参数
    *和
    可同时使用,但是*必须在**的前面

    def foo(*args, **kwargs):
        for arg in args:
            print(arg)
        for arg in kwargs:
            print(arg, kwargs[arg])
    
    foo("a", "b", "c", num1=1, num2=2, num3=3)
    

    运行结果:

    6.*作数组

    a, b, *list= [1, 2, 3]
    print(type(a))
    print(type(b))
    print(type(list))
    print(a)
    print(b)
    print(list)
    

    运行结果:

  • 相关阅读:
    Gym 101194L / UVALive 7908
    POJ 2259
    POJ 2559
    Gym 101194E / UVALive 7901
    Gym 101194D / UVALive 7900
    一种整数集上二分的正确写法
    日常训练记录
    Gym 101194C / UVALive 7899
    Gym 101194A / UVALive 7897
    HDU 5542
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/9045152.html
Copyright © 2011-2022 走看看