zoukankan      html  css  js  c++  java
  • 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')

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

  • 相关阅读:
    Nginx Record
    Go 查找元素
    博客转移公告
    模板库
    模板库
    【BZOJ2276】Temperature
    【BZOJ3524】Couriers
    【BZOJ4458】GTY的OJ
    AtCoder Grand Contest 007
    Editing 2011-2012 ACM-ICPC Northeastern European Regional Contest (NEERC 11)
  • 原文地址:https://www.cnblogs.com/zhang-teng/p/6249581.html
Copyright © 2011-2022 走看看