zoukankan      html  css  js  c++  java
  • 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)拆包使用*  字典拆包使用**

  • 相关阅读:
    python操作pymysql
    使用raise语句抛出异常
    异常处理
    01.正太分布模型
    常用正则表达式总结(47条)
    Scrapy项目_苏宁图书信息
    Scrapy项目_阳光热线问政平台
    Scrapy 项目:腾讯招聘
    Python爬虫_糗事百科
    Python爬虫_百度贴吧(title、url、image_url)
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/9248867.html
Copyright © 2011-2022 走看看