zoukankan      html  css  js  c++  java
  • (7)python 函数和lambda表达式

    一、函数定义和调用

    1.定义函数用def

    2.函数注释

    在函数体里的开头写上字符串,可以起到说明的作用

     可以用函数名.__doc__的方式读取在函数开头加的字符串(双下划线

     内建的help()函数也能返回此信息

    3.多返回值

    返回多个值时,会以元组的形式返回

    可以用序列解包的方式获取多个值

    4.无返回值

    当函数无返回值时,会自动返回None。return 的关键字可写可不写(但是最好写上,避免混乱)

    5.递归函数

    6.函数文档

    def fun():
        """ 这是一个空函数
    
        什么都不做
        """
        pass
    
    
    print(fun.__doc__)

    7.函数标注

    def fun(a: str) -> str:
        print(fun.__annotations__)
        return a + " hello"
    
    
    print(fun("abc"))

    二、函数参数

    1、位置参数

    固定顺序的参数就是位置参数

    2、关键字参数

    在调用函数时,通过实参赋值的方式传入参数

    这种方式可以打乱传入的位置,

     调用时参数必须和定义参数时的变量名一致

    这样就会出现错误

    3.混用传参

    可以同时使用位置参数,和关键字参数的方式,但是关键字参数必须位于位置参数之后

     

    4.参数默认值

    关键字参数还可以在定义函数时使用默认值

    定义时默认写了参数则调用时不必再写

    位置参数和关键字参数联合使用时,要把位置参数放在前面

    3、收集参数

    1、在函数定义形参时,形参前加个*,在调用函数时就可以传入任意多个实参进去。

    加了*的参数会作为元组来存放传入的数据

    2、当收集参数和关键字参数混用时就不能省略关键字参数了,而且能重新赋值

     

    可变参数可以在函数的任意位置,但只能有一个

    3.定义函数时形参前加**,调用函数时,可以已a=b的方式传入

    最后以字典的方式存放数据

    4.逆向参数收集

    由序列传给函数,在由函数自动拆开序列的方式

     列表和元组用 *传入,字典用**传入

     5.函数的传递机制

    如果传参是个字符串,函数外定义的字符串,在函数里重新赋值后外部是不变的

    但如果传参是一个列表则可以改变函数外的列表值

    ????

    6.变量作用域

    7.函数变量

    可以把函数赋值给变量来使用

    8.函数参数

     可以把函数当做参数来传递

    9.使用函数作为返回值

    三、lambda表达式

    四、作用域

    locals()

    globals()

  • 相关阅读:
    Filter (seach and replace) array of bytes in an InputStream
    Eclipse上GIT插件EGIT使用手册之一_安装EGIT插件
    JAVA如何插入MySql的datetime类型的简单的例子
    版本控制工具比较CVS,SVN,GIT
    jQuery ajax get() 方法
    wubi 安装 ubuntu
    怎样把水货E72升级后英文变中文
    中国象棋for Ubuntu
    Ubuntu技巧:Ubuntu软件安装方法完全指南[转]
    关于linux下安装oracle之后,重启系统后oracle失败的问题[转]
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/6920091.html
Copyright © 2011-2022 走看看