zoukankan      html  css  js  c++  java
  • 函数

    1.使用def test(x): (使用def(关键字)定义函数,test是函数对象,x为参数)

                   ‘注释’

                    2*x

                  return x  

    #函数可以传参数也可以不传参数

    def test(x):#可以传参数也可以不传参数
        '''
        2*x+1
        :param x: 整型数字
        :return: 返回计算结果
        '''
        y =2*x+1
        return y
    print(test)
    a =test(3)
    print(a)
    
    
    def test():#可以传参数也可以不传参数
        '''
        2*x+1
        :param x: 整型数字
        :return: 返回计算结果
        '''
        x = 3
        y =2*x+1
        return y
    a = test()
    print(a)

    2、函数的返回值的多种形态

    def test01():
        msg = "test01"
        # print(msg)
    
    def test02():
        msg = "test02"
        # print(msg)
        return msg
    
    def test03():
        msg = "test03"
        # print(msg)
        return 1,2,4,'a',['alex'],{'name':'alex'},None
    
    def test04():
        msg = "test04"
        # print(msg)
        return {'name':'alex'}
    t1 = test01() #返回值数 =0 :返回None
    t2 = test02()#返回值数 =1  :返回object
    t3 = test03()#返回值数>1 :返回tuple(元组)
    t4 = test04()#返回值数 =1  :返回object
    print(t1)
    print(t2)
    print(t3)
    print(t4)

     3.函数的参数分为形参和实参,如:def test(x): #形参

    #形参的特点,不占用内存空间,只有在调用时才会分配地址,调用完成之后就会被释放掉

                                                              ‘注释:描述代码功能’  

                                                              print(x)#代码块

                                                             test(1)#实参

    4.位置参数

    #位置参数 :实参与形参位置一一对应,缺一不可,多一个也不行
    def test(x,y,z):#形参
        print(x)
        print(y)
        print(z)
    res = test(1,3,4)#实参

    5.关键字参数

    #关键字参数:无需一一对应,缺一不行多一不行
    def test(x,y,z):#形参
        print(x)
        print(y)
        print(z)
    res = test(x=2,z=5,y=7)#实参

    6.位置参数必须在关键字参数的左边

    #位置参数必须在关键字参数的左边
    def test(x,y,z):#形参
        print(x)
        print(y)
        print(z)
    # test(2,y=5,7)#报错
    # test(2,5,y=7)#报错
    test(2,5,z=7)#实参

    7.形参的参数默认值

     

    def handle(x,type = 'mysql'):#其中mysql是type的默认值,type是默认参数
        print(x)
        print(type)
    #handle('hello')#只给x赋值,此时type 取默认值mysql
    handle('hello',type = 'sqlite')#也可以给默认参数赋值,此时打印type的值就是sqlite
    #handle('hello','sqlite') #此处type的值使用的是位置参数传值

    8.参数组:**字典 *列表

    *列表的例子

    #参数组:**字典 *列表
    def test(x,*args):
        print(x)
        print(args)
        # print(args[0][1])
    #test(1,2,3,4,5,6) #args 返回的结果是个元组
    #test(1,{'name':'alex'})
    # test(1,[2,3,4,5,6])
    test(1,*[2,3,4,5,6])

    **字典的例子

    #**字典
    def test(x,**kwargs):
        print(x)
        print(kwargs)
    test(1,y = 2,z = 3)
    # test(1,y = 2,z = 3,z = 4) #会报错,一个参数不能传两个值

    9.同时使用字典和列表参数

    def test(x,*args,**kwargs):
        print(x)
        print(args,args[-1])
        print(kwargs,kwargs['z'])
    # test(1, 1, 22, 3, 4,x= 1, y=2, z=3)#报错,传的x值与形参x重复
    test(1,1,22,3,4,y = 2,z = 3)

    def test(x,*args,**kwargs):#同时传列表和字典的形参
        print(x)
        print(args,args[-1])
        print(kwargs,kwargs['y'])
    test(1,*[1,2,3],**{'y':1})

     

  • 相关阅读:
    "Automation 服务器不能创建对象" 的解决方法
    让DataGrid拥有单击回传事件并带回指定字段的值
    SQL 和TSQL学习(一)
    数据写入XML
    DATALIST分页存储过程
    The target assembly contains no service types. You may need to adjust the Code Access Security policy of this assembly." 目标程序集不包含服务类型。可能需要调整此程序集的代码访问
    字符串转日期
    C# 日期和时间正则表达式
    js根据输入日期显示该月的最后一天的日期[转]
    JavaScript试题【解析+答案】
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10861819.html
Copyright © 2011-2022 走看看