(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()
最新文章
- CLR 这些年有啥变化吗?
- iOS中延时执行的几种方式的比较和汇总
- .proto 文件转js 文件方法【nodejs】
- 环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一
- iOS 从应用中跳转至系统设置页面里的多种设置页面
- ANE原生代码的调试(安卓)
- nfs服务部署记录
- MyEclipse中查询
- HDU4870_Rating_双号从零单排_高斯消元求期望
- java 网络编程(三)---TCP的基础级示例
- char*,wchar_t*,CString和BSTR之间的转换
- SiteMesh详解
- python学习进阶一
- ZOJ 3492 模拟循环链表线性查找
- rsync+innotify做到同步式更新
- 使用npm安装配置vue
- SQLServer之创建标量函数
- PHP获取新插入的主键id
- gulp ( http://markpop.github.io/2014/09/17/Gulp入门教程 )
- Libxml2函数及使用方法概述【转】
热门文章
- javasisst &; JAVA8
- 集群hadoop ubuntu版
- Citrix Netscaler版本管理和选择
- fail2ban软件 +ssh密钥登录
- 关于javascript中的this 一段小实例深有体会啊
- .NET之特性和属性(转)
- supervisor提高nodejs调试效率
- Spring 学习笔记(三)之注解
- php连接mysql报错——Fatal error: Call to undefined function mysql_connect() in
- codechef T3 计算器