一、函数定义和调用

1.定义函数用def

2.函数注释

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

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

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

3.多返回值

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

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

4.无返回值

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

5.递归函数

二、函数参数

1、位置参数

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

2、关键字参数

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

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

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

这样就会出现错误

3.混用传参

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

4.参数默认值

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

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

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

3、收集参数

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

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

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

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

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

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

4.逆向参数收集

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

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

 5.函数的传递机制

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

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

????

6.变量作用域

7.函数变量

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

8.函数参数

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

9.使用函数作为返回值

三、lambda表达式

四、作用域

locals()

globals()

(7)python 函数和lambda表达式的更多相关文章

  1. python函数,lambda表达式,三目运算,列表解析,递归

    一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...

  2. python函数和lambda表达式学习笔记

    1. python函数 不同于其他语言,python支持函数返回多个值 为函数提供说明文档:help(函数名)或者函数名.__doc__ def str_max(str1, str2): ''' 比较 ...

  3. Python函数与lambda 表达式(匿名函数)

    Python函数 一.函数的作用 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段 函数能提高应用的模块性和代码的重复利用率 python 内置函数:https://docs.pytho ...

  4. Python内嵌函数与Lambda表达式

    //2018.10.29 内嵌函数与lambda 表达式 1.如果在内嵌函数中需要改变全局变量的时候需要用到global语句对于变 量进行一定的说明与定义 2.内部的嵌套函数不可以直接在外部进行访问 ...

  5. 浅析匿名函数、lambda表达式、闭包(closure)区别与作用

    浅析匿名函数.lambda表达式.闭包(closure)区别与作用 所有的主流编程语言都对函数式编程有支持,比如c++11.python和java中有lambda表达式.lua和JavaScript中 ...

  6. Python 与 C# lambda表达式比较

    Python里到lambda表达式非常简约, lam =lambda a: a*2 --> lam(3) 6 在某些情况下确实挺好用到.但是相比C#到lambda表达式,还是不够强大(我不是在黑 ...

  7. python3 入门 (三) 函数与lambda表达式、闭包

    函数 是组织好的.可重复使用的.用来实现单一或相关联功能的代码段. 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 函 ...

  8. Python 函数之lambda、map、filter和reduce

    1.lambda函数 lambda()是Python里的匿名函数,其语法如下: lambda [arg1[, arg2, ... argN]]: expression 学习条件运算时,对于简单的 if ...

  9. 委托,匿名函数和lambda表达式

    很早之前就接触到了委托,但是一直对他用的不是太多,主要是本人是菜鸟,能写的比较高级的代码确实不多,但是最近在看MSDN微软的类库的时候,发现了微软的类库好多都用到了委托,于是决定好好的研究研究,加深一 ...

随机推荐

  1. Win10上部署Apollo配置中心

    基于Docker在Win10上部署Apollo配置中心 https://www.jianshu.com/p/a1215056ce75 http://nobodyiam.com/2016/07/09/i ...

  2. 纯Div+Css制作的漂亮点击按钮和关闭按钮

    纯Div+Css制作的漂亮点击按钮和关闭按钮,单击点击按钮也有效果.这些都不是图片.

  3. P2574 XOR的艺术

    题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个伤害串为长度为n的01串. 2. 给定一个范围[l,r ...

  4. [CF1077C]Good Array

    题目大意:一个序列是好的当且仅当有一个数是其它所有数的和,问一个序列可以删掉哪个数变成好的序列.输出所有方案. 题解:发现等于其他数的和的那个数一定是其中最大的,只要排序一下(其实只要找到最大的两个数 ...

  5. [洛谷P2824][HEOI2016/TJOI2016]排序

    题目大意:一个全排列,两种操作: 1. $0\;l\;r:$把$[l,r]$升序排序2. $1\;l\;r:$把$[l,r]$降序排序 最后询问第$k$位是什么 题解:二分答案,把比这个数大的赋成$1 ...

  6. P1641 [SCOI2010]生成字符串

    P1641 [SCOI2010]生成字符串 题目描述 lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不 ...

  7. 《软件调试的艺术》学习笔记——GDB使用技巧摘要

    <软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...

  8. win10 update orchestratorservere禁用

      1 Windows 10系统中有一项Update Orchestrator Service(更新协调器办事),在当地办事窗口中,我们发现 Update Orchestrator Service 办 ...

  9. Faster R-CNN教程

    Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10 ...

  10. jquery从零起步学

    html: <HTML> <head> <meta http-equiv="content-type" content="text/html ...