zoukankan      html  css  js  c++  java
  • python中的函数(细节)

    def test(x):
        '''
        2*x+1
        :param x:整形数字
        :return: 返回计算结果
        '''
        y=2*x+1
        return y
    print(test(2))

    输出  5

    过程:就是没有返回值的函数
    def test01():
        msg = 'test01'
        print(msg)
    test01()

    输出

    test01
    def test02():
        msg = 'test02'
        print(msg)
        return 'sg'
    test02()
    print(test02())

    输出

    test02
    test02
    sg
    def test03():
        msg = 'test03'
        print(msg)
        return 1,2,3,4,'a',['alex'],{'name':'alex'},None
    print(test03())

    输出

    test03
    (1, 2, 3, 4, 'a', ['alex'], {'name': 'alex'}, None)
    def test04():
        msg = 'test03'
        print(msg)
        return {'name':'alex'}
    
    print(test04())

    输出

    test03
    {'name': 'alex'}
    def test(x,y,z):#x=1,y=2,z=3
        print(x)
        print(y)
        print(z)
        
    p=test(1,2,3)
    print(p)
    #位置参数,必须一一对应,缺一不行多一也不行
    输出
    1
    2
    3
    None
    def test(x,y,z):#x=1,y=2,z=3
        print(x)
        print(y)
        print(z)
    test(y=1,x=3,z=4)
    #关键字参数,无须一一对应,缺一不行多一也不行

    输出

    3
    1
    4
    def test(x,y,z):#x=1,y=2,z=3
        print(x)
        print(y)
        print(z)
    #位置参数必须在关键字参数左边
    test(1,y=2,3)#报错
    test(1,3,y=2)#报错
    test(1,3,z=2)
    test(1,3,z=2,y=4)#报错
    test(z=2,1,3)#报错
    def handle(x,type='mysql'):
        print(x)
        print(type)
    handle('hello')
    handle('hello',type='sqlite')
    handle('hello','sqlite')
    hello
    mysql
    None
    hello
    sqlite
    None
    hello
    sqlite
    None
    #参数组:**字典 *元组
    def test(x,*args):
        print(x)
        print(args)
    test(1)
    test(1,2,3,4,5)
    test(1,{'name':'alex'})
    test(1,['x','y','z'])
    test(1,*['x','y','z'])
    test(1,*('x','y','z'))

    输出

    1
    ()
    1
    (2, 3, 4, 5)
    1
    ({'name': 'alex'},)
    1
    (['x', 'y', 'z'],)
    1
    ('x', 'y', 'z')
    1
    ('x', 'y', 'z')
    #参数组:**字典 *列表
    def test(x,**kwargs):
        print(x)
        print(kwargs)
    test(1,y=2,z=3)
    # test(1,1,2,2,2,2,2,y=2,z=3)  报错
    # test(1,y=2,z=3,z=3)#会报错 :一个参数不能传两个值

    输出

    1
    {'y': 2, 'z': 3}
    def test(x,*args,**kwargs):
        print(x)
        print(args,args[-1])
        print(kwargs,kwargs.get('y'))
    # test(1,1,2,1,1,11,1,x=1,y=2,z=3) #报错
    test(1,1,2,1,1,11,1,y=2,z=3)

    输出

    1
    (1, 2, 1, 1, 11, 1) 1
    {'y': 2, 'z': 3} 2
  • 相关阅读:
    vue组件系列-数字滚动组件
    重新振兴自己
    EL表达式
    org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type sette
    Struts2常用标签总结
    mybatis+strut2+spring整合总结
    hibernate的详细注解以及例子
    Struts2基于注解的Action配置
    【干货】如何通过OPC自定义接口来实现客户端数据的读取?
    即将离职,共享下我的知识库
  • 原文地址:https://www.cnblogs.com/liushuizs/p/10278623.html
Copyright © 2011-2022 走看看