• Python函数的可变长参数


    # 非关键字可变长参数(元组*args),把N个非关键字参数参数转化为元组。
    # 当函数被调用的时候,所有形参(必须的和默认的)都将赋值给函数声明中对应的局部变量,剩下的非关键字参数按顺序插入到一个元组中。
    # 可变长参数元组必须在位置参数和默认参数之后。
    def func(arg1, arg2 = 9, *args):
        print("arg1: %d" % arg1)
        print("arg2: %d" % arg2)
        for i in args:
            print("another arg: %d" % i)
    #func(1, 2)
    #func(1, 2, 3, 4, 5)
    #func(1, 2, *(3, 4, 5))  # *(3, 4, 5) = tuple(3, 4, 5)

    # 关键字可变长参数(字典**kwargs),把N个关键字参数转化为字典。
    def func1(name, age=25, **kwargs):
        print(name)
        print(age)
        for key in kwargs:
            print(kwargs[key])

    func1('Jack', 28, sex = "male", job = 'Engineer')

    def func2(name, age=13, *args, **kwargs):
        print("name is %s" % name)
        print("age is %d" % age)
        for info in args:
            print("班级信息:%s" % info)
        for key in kwargs:
            print("其他信息:%s" % kwargs[key])

    func2('xiaoming', 12, 'Class2', 'Grade1', job='Student', score='100')

    # 位置参数必须在关键字参数前面。

  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/zhang-teng/p/6249581.html
Copyright © 2020-2023  润新知