• Python 函数参数


    #-*- coding:utf-8 -*-
    
    #缺省参数的定义
    def test(a,b=10):
            print(a+b)
    
    
    #缺省参数必须在参数列表的最后定义,不可以定义在普通参数前面
    # def test(a,b=10,c)    ---这种定义方式是错误的
    
    
    test(2)
    
    
    def test2(a, b =10, c=5):
            print(a+b+c)
    
    
    #命名参数的使用
    test2(3,c=3)
    
    #指定给参数c赋值,这里"c=3" c必须是形参名,不可以写其他变量名
    #-*- coding:utf-8 -*-
    
    #带参数名的可变参数   **kwarg
    
    def test(a, b, c = 22, *arg, **kwarg):
            print(a)
            print(b)
            print(c)
            print(arg)
            print(kwarg)
    
    
    
    
    test(1,2,3,4,5)
    
    #打印 c的值是3, arg的值是(4,5)   kwarg的值是{}   --空的字典
    #这里使用缺省参数没有实际意义,因为必须传值,只是验证一下缺省参数,可变参数,带参数名的可变参数这几个参数在参数列表中的顺序
    
    
    print("="*10)
    
    test(1,2,3,4,nam="jack",age=18)
    #打印c的值是3,arg的值是(4,) ,kwarg的值是{"name":"jack","age":"18"}
    #-*- coding:utf-8 -*-
    
    #可变参数的遍历
    
    def test(a, *arg):
            res = a
            for tmp in arg:
                    res += tmp
            print(res)
    
    test(1,2,3)
    
    #结果打印6
    #-*- coding:utf-8 -*-
    
    #实参拆包应用
    
    tupleNum = (4,5)
    
    dicInfo = {"name":"tom","age":18}
    
    def test(a, *arg, **kwarg):
            print(a)
            print(arg)
            print(kwarg)
    
    print("===不拆包效果==")
    test(1, tupleNum, dicInfo)
    
    #观察打印结果发现tupleNum和dicInfo被当做参数传给arg
    
    print("===拆包后==")
    test(1, *tupleNum, **dicInfo)
    
    #在实参中,元组(tuple)拆包使用*  字典拆包使用**

  • 相关阅读:
    发短信集合类-阿里云短信涉及类
    第四方 fast快捷支付封装
    佰米支付封装
    支付宝支付封装【修改至2021.01.11】
    关于支付
    tp5下的文件上传与下载类
    发送短信集合类
    文件中设置开启访问权限
    SpringBoot注解分析
    HashMap底层实现原理及面试问题
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/9248867.html
Copyright © 2020-2023  润新知