(7)python 函数和lambda表达式
一、函数定义和调用
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表达式的更多相关文章
- python函数,lambda表达式,三目运算,列表解析,递归
一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...
- python函数和lambda表达式学习笔记
1. python函数 不同于其他语言,python支持函数返回多个值 为函数提供说明文档:help(函数名)或者函数名.__doc__ def str_max(str1, str2): ''' 比较 ...
- Python函数与lambda 表达式(匿名函数)
Python函数 一.函数的作用 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段 函数能提高应用的模块性和代码的重复利用率 python 内置函数:https://docs.pytho ...
- Python内嵌函数与Lambda表达式
//2018.10.29 内嵌函数与lambda 表达式 1.如果在内嵌函数中需要改变全局变量的时候需要用到global语句对于变 量进行一定的说明与定义 2.内部的嵌套函数不可以直接在外部进行访问 ...
- 浅析匿名函数、lambda表达式、闭包(closure)区别与作用
浅析匿名函数.lambda表达式.闭包(closure)区别与作用 所有的主流编程语言都对函数式编程有支持,比如c++11.python和java中有lambda表达式.lua和JavaScript中 ...
- Python 与 C# lambda表达式比较
Python里到lambda表达式非常简约, lam =lambda a: a*2 --> lam(3) 6 在某些情况下确实挺好用到.但是相比C#到lambda表达式,还是不够强大(我不是在黑 ...
- python3 入门 (三) 函数与lambda表达式、闭包
函数 是组织好的.可重复使用的.用来实现单一或相关联功能的代码段. 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 函 ...
- Python 函数之lambda、map、filter和reduce
1.lambda函数 lambda()是Python里的匿名函数,其语法如下: lambda [arg1[, arg2, ... argN]]: expression 学习条件运算时,对于简单的 if ...
- 委托,匿名函数和lambda表达式
很早之前就接触到了委托,但是一直对他用的不是太多,主要是本人是菜鸟,能写的比较高级的代码确实不多,但是最近在看MSDN微软的类库的时候,发现了微软的类库好多都用到了委托,于是决定好好的研究研究,加深一 ...
随机推荐
- 【题解】IOI2005River 河流
一节语文课想出来的玩意儿,调了几个小时……可见细心&好的代码习惯是有多么的重要 (:へ:) 不过,大概竞赛最令人开心的就是能够一点一点的感受到自己的进步吧,一天比一天能够自己想出更多的题,A题 ...
- [Leetcode] word ladder 单词阶梯
Given two words (start and end), and a dictionary, find the length of shortest transformation sequen ...
- Android中代码设置RadioButton的高端技巧
不知道怎么起标题,就这样了. 目前主要讲两个方面内容: 代码方式 设置RadioButton的 android:button . android:background 等属性为 @null : 代码方 ...
- 手把手教你通过Eclipse工程配置调用JNI完全攻略
本文地址:http://www.cnblogs.com/wavky/p/JNI.html 当你找到并鬼使神差地打开这个博文的时候,我敢肯定你已经知道什么是JNI,基本概念就不粘贴了. 百度出来的JNI ...
- POJ2502:Subway(最短路)
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14634 Accepted: 4718 题目链接:http ...
- 编写clearedit的安卓控件
1.写一个自定义的控件 public class ClearEditText extends AppCompatEditText implements View.OnFocusChangeListen ...
- CSS盒模型之margin解析
原文链接:http://www.jianshu.com/p/ccb534e9b588 文章分为: margin的使用 margin的叠压现象 margin的子债父偿现象 一.margin的使用 HTM ...
- 浅析 nth-child(n) 和 nth-of-type(n)
首先看一个例子 <div> <p>第一个段落</p> <p>第二个段落</p> </div> p:nth-child(2) { ...
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“ 或者不能cleanup,或者提示空目录 报错的解决方法
参考了文档: http://blog.csdn.net/superch0054/article/details/38668017 今天碰到了个郁闷的问题,svn执行clean up命令时报错“Prev ...
- java消息中间件入门
消息中间件来解耦服务调用 比如1个登录系统,登录的话需要调用很多系统的其他服务,如果中间调用失败,可能会导致登录信息一致无法返回,同时也增加了系统的耦合度.而用消息中间件的话,则是不发送服务到其他系统 ...