zoukankan      html  css  js  c++  java
  • python中收集参数

    在定义函数的时候,若实参个数不确定,形参就可以使用收集参数来“搞定”,仅需要在参数前面加上星号(*)即可。

    1、 使用收集参数来表示形式参数时,需要在参数前加上星号。

    >>> def a(*x):
        print("total %d parameter!" % len(x))
        print("second parameter:",x[1])
    
        
    >>> a(3,8,4,7,9)
    total 5 parameter!
    second parameter: 8

    2、使用参数前加星号的方法来表示未知实参个数的形式参数的时候,形参被打包为元组

    >>> def a(*x):
        print("total parameter:", len(x))
        print("second parameter:", x[1])
        print(type(x))
    
        
    >>> a("aaa","dddd","bbbb","cccc")
    total parameter: 4
    second parameter: dddd
    <class 'tuple'>

    3、收集参数可以和关键字参数结合使用

    >>> def a(*x,y):
        print("collection parameter are:", x)
        print("key word parameter is:", y)
    
        
    >>> a(4,2,"saaa","dddd",y = "88888")
    collection parameter are: (4, 2, 'saaa', 'dddd')
    key word parameter is: 88888

    4、

    在函数的定义中,收集参数前面的星号(*)起到的作用称为“打包”操作,就是将多个参数打包成一个元组的形式进行存储。

    星号(*)在形式参数中的作用是打包,而在实际参数中的作用相反,起到“解包”的作用。

    >>> a = "helloworld"
    >>> print(*a)
    h e l l o w o r l d
    >>> a = (3,1,8,9,4)
    >>> print(*a)
    3 1 8 9 4
    >>> a = ["aaa","ccc","ddd","bbb"]
    >>> print(*a)
    aaa ccc ddd bbb
  • 相关阅读:
    给定中序和后序遍历,求前序序列(C++递归方式实现)
    myeclipse2014删除antlr-2.7.2.jar--解决struts和hibernate包冲突
    hadoop1.2.1配置与运行子串统计程序
    任务计划crontab
    建NTP
    vnc下运行runInstall报java错误
    rpm软件安装
    redis
    rpm包和deb包转换
    新老版本centos下载
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14494093.html
Copyright © 2011-2022 走看看