• 函数


    • 函数定义

    def test(x): # def 关键字  test函数名称
        #注释函数功能
        x += 1
        return x #返回值
    • 函数作用 

      1.代码重用

      2.保持一致性,易于维护

      3.可扩展

    • 函数和过程

      在python中过程就是 没有返回值的函数

      返回值个数 = 0   默认返回None

      返回值个数 = 1  返回object(对象)

      返回值个数>=1  返回的是tuple(元组) 以元组的形式返回

    • 函数参数

      有形参和实参

      形参就是在定义函数是的参数 :

        只有在调用函数时才会分配内存单元,调用结束后释放所分配的内存(只在函数内部有效)

      实参就是在调用函数时传给形参的参数:

        实参可以是常量,变量,表达式,函数等,并且在调用函数是必须有确定的值,以便把这些值传给形参

    • 位置参数和关键字

      位置参数调用时必须一一对应而且传参根据位置传递

    def test(x,y,z): #创建函数
        return 
    
    
    test(1,2,3)#位置参数调用
    test(y=2,x=3,z=4)#关键字调用顺序不重要值可以根据关键字来指定
    • 如果两者混合使用时  位置参数必须在关键字参数的左边,并且给值的顺序不能乱
    • 参数组

    • test (x, *args)
    def test(x,*args):
        print(x)
        print(args)
    
    test(1,2,3,4,5,6)
    
    #结果
    1
    (2, 3, 4, 5, 6)#以元组形式返回

      *args可以传多个值,除去前边的参数外其他的值会合并到元组里返回

      

    def test(x,*args):
        print(x)
        print(args)
    
    test(1,[1,2,3])
    test(1,*[1,2,3])
    
    #结果
    1
    ([1, 2, 3],)#在这里先将列表作为元组在返回元组(可以看出整个列表作为元组的元素)
    1
    (1, 2, 3)在这里相当于只是将数字作为元组元素(将列表拆开传入)
    View Code
    • test (x,**kwargs)

      可以接受字典形式

    def test(x, **kwargs):
        print(x)
        print(kwargs)
    
    
    test(2, **{"name": "alex"})
    test(2, z=3, y=4)  #会以字典的形式传入
    
    #结果
    
    2
    {'name': 'alex'}
    2
    {'z': 3, 'y': 4}
  • 相关阅读:
    循环神经网络(LSTM和GRU)(1)
    threading包的例子和queue包的例子
    xgboost调参
    理解 Python 中的 *args 和 **kwargs
    TFRecords文件的生成和读取(1)
    tensorflow函数介绍(4)
    python其他篇(1)
    python实现Restful服务(基于flask)(2)
    开源多线程性能测试工具-sysbench
    MySQL 8.0.0 版本发布,亮点都在这了!
  • 原文地址:https://www.cnblogs.com/ShanCe/p/9311056.html
Copyright © 2020-2023  润新知