• 函数的参数组合


    一。 必选参数:必须传入的参数

    二。默认参数:不传入取默认值,传入则覆盖,必须指向不变对象

    >>> def my_fun(a,b=[2,]):
    ...     b.append(5)
    ...     print 'a=',a,'b=',b
    ... 
    >>> my_fun(1)
    a= 1 b= [2, 5]
    >>> my_fun(1)
    a= 1 b= [2, 5, 5]
    >>> my_fun(1)
    a= 1 b= [2, 5, 5, 5]
    >>> 

    三。可变参数:

    >>> def my_fun(*a):
    ...     print a
    ... 
    >>> my_fun(1,2,3)
    (1, 2, 3)
    >>>

        参数 a 接收到是一个tuple

        也可以传入tuple和List

    >>> def my_fun(*a):
    ...     print a
    ... 
    >>> b = [4,5,6]
    >>> my_fun(*b)
    (4, 5, 6)
    >>> my_fun(b)
    ([4, 5, 6],)
    >>> my_fun(1)
    (1,)
    >>>

      区别传入*b 和 b

    四。关键字参数

         

    >>> def my_fun(**a):
    ...     print a
    ... 
    >>> b = {'city':'Beijing','job':'Engineer'}
    >>> my_fun(**b)
    {'city': 'Beijing', 'job': 'Engineer'}
    >>> my_fun(city = 'Beijing',job = 'Engineer')
    {'city': 'Beijing', 'job': 'Engineer'}
    >>>

       a 接收一个dict

    五。参数组合

         参数组合按左往右适配 必选参数 默认参数 可变参数 关键字参数

    六。参考:

    https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000

  • 相关阅读:
    涉猎
    linq to sql中的自动缓存(对象跟踪)
    Java的起源和发展
    Java为什么需要保留基本数据类型
    JDK各版本新增的主要特性
    【转】整理:著名软件是使用什么语言写的?
    Struts2框架学习
    json格式
    sqlserver开窗函数改造样例
    说一下这次的求职经历。
  • 原文地址:https://www.cnblogs.com/GH-123/p/7779713.html
Copyright © 2020-2023  润新知