• 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)拆包使用*  字典拆包使用**

  • 相关阅读:
    CSS3新增文本属性实现图片点击切换效果
    swipe和swiper的区别
    uncaught syntaxerror: unexpected token
    科协前辈的阿里面试经验转载1
    Oracle 分析函数
    Jakarta Commons HttpClient 学习笔记 (二)
    Ubuntu eclipse下android virtual device manager不能删除AVD
    Android的界面设计工具——DroidDraw
    JS异步请求数据
    Ubuntu配置JDK和Android环境变量
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/9248867.html
Copyright © 2020-2023  润新知