• python-----函数参数类型


    #函数参数类型:1 位置参数 2 默认参数 3 关键字参数 4可变参数 包裹位置参数*args 包裹关键字参数 **kargs
    #参数位置顺序:先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
    #位置参数----调用函数时根据函数定义的参数位置来传递参数,参数有顺序。
    def test(name,age):
    print('名字是 %s,年龄是%s'%(name,age))
    test('lily','25')
    #>>名字是 lily,年龄是25

    #默认参数----为参数提供默认值,调用函数时可传,可不传该默认参数的值
    def test(name,age='19'):
    print('名字是 %s,年龄是%s'%(name,age))
    test('lily')
    #>>名字是 lily,年龄是19

    #关键字参数---通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
    def test(name,age):
    print('名字是 %s,年龄是%s'%(name,age))
    test('lily',age=9)


    #可变参数---包含包裹位置传递(*args)、包裹关键字传递(**kargs),可变参数特点:参数个数不限制,但args类型元组,kargs类型字典
    #包裹位置传递:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,

    def func(*args):
    pass

    func()
    func('a')
    func('a','b','c')

    #包裹关键字传递:kargs是一个字典(dict),收集所有关键字参数
    def func(**kargs):
    pass

    # func(a=1)
    # func(a=1, b=2, c=3)

    #解包裹参数 ----*和**

    #位置参数,默认参数,可变参数的混合使用
    #基本原则是:先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
    def func(name, age, sex=1, *args, **kargs):
    print(name, age, sex, args, kargs)

    tuple1=('apple','orange')
    func('tanggu', 25, 2,*tuple1,c=2,d=3)
    #>>tanggu 25 2 ('apple', 'orange') {'d': 3, 'c': 2}
    #实参中传递 包裹关键字形式为“=”
    func('tanggu', 25, 2, 'music', 'sport',c=2,d=3)
    #tanggu 25 2 ('music', 'sport') {'c': 2, 'd': 3}

    #如果直接定义dict 在实际参数中传递dict,注意前加**
    dict1={'a': 1, 'b': 2,'c':3}
    func('tanggu', 25, 2, 'music', 'sport',**dict1)
    #tanggu 25 2 ('music', 'sport') {'c': 3, 'a': 1, 'b': 2}
  • 相关阅读:
    (转)解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
    ASP.NET AJAX(开发代号Atlas)重要参考资源大收集
    Ajax.NET 和 Atlas 区别
    SqlDataAdapter的几种常用方法
    C# 2.0与泛型
    DataView 使用技巧 [转]
    .net事务
    SQL Server 2005 SQL Server 2000 改进
    Crystal Reports for Visual Studio 2005 学习一(报表绑定方案)
    oracle的substr函数的用法
  • 原文地址:https://www.cnblogs.com/wenchengqingfeng/p/9811290.html
Copyright © 2020-2023  润新知