zoukankan      html  css  js  c++  java
  • 函数-参数

    参数

    参数:函数的参数是存在内存中的栈信息,函数执行完后便会释放掉。

    ***************************普通参数****************************

    def test_args(a, b):

    print a, b,

    print a+b

    test_args(1, 2)

    ***************************默认参数****************************

    def test_args(a, b=1, c=3):  

    print a, b, c,

    print a+b+c

    test_args(2)

    test_args(23, c=4.56)

    test_args('abc',123, 'xyz', 456.789)

    需求:某一天我的函数想增加一个参数怎么办?

    解决:通过默认参数去解决。

    *************************高阶 变长参数 ****************************

    可变长参数 达到调用函数的时候,可以传入任意形式任意个数的参数。

    *用来传递任意个名字参数,这些参数会一个Tuple的形式访问。

    **用来处理传递任意个有名字的参数,这些参数用dict来访问。

    *args  :    tuple

    **kwargs :  就是当你传入key=value是存储的字典

    假如我定义一个函数, 参数设置成 *args,  **kwargs的变长参数,那么也就是说定义的函数,参数不限定。

    *args,  **kwargs:代表着可以支持传入的任何形式的参数。

    def test(a, *args, **kwargs):

        print a

        print args

        print kwargs

    test(1, 2, 3, t=4, f=5)

    def foo(*args, **kwargs):

        print 'args = ', args

        print 'kwargs = ', kwargs

        print '---------------------------------------'

    foo(1,2,3,4)

    foo(a=1,b=2,c=3)

    foo(1,2,3,4, a=1,b=2,c=3)

    foo('a', 1, None, a=1, b='2', c=3)

  • 相关阅读:
    nginx: [emerg] the size 10485760 of shared memory zone "cache_one" conflicts with already declared size 0
    ruby 删除文件夹(包括文件夹中的文件夹和文件)
    nisi 脚本示例
    将node-expat扩展编译至node.exe中
    将odbc扩展编译至nodejs程序集中
    微信小程序数据传递基本
    Java环境配置
    Angular环境配置
    mysql中常用的数据类型
    html中a标签的4个伪类样式
  • 原文地址:https://www.cnblogs.com/liang545621/p/7523479.html
Copyright © 2011-2022 走看看