一、函数定义和调用

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()

最新文章

  1. CLR 这些年有啥变化吗?
  2. iOS中延时执行的几种方式的比较和汇总
  3. .proto 文件转js 文件方法【nodejs】
  4. 环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一
  5. iOS 从应用中跳转至系统设置页面里的多种设置页面
  6. ANE原生代码的调试(安卓)
  7. nfs服务部署记录
  8. MyEclipse中查询
  9. HDU4870_Rating_双号从零单排_高斯消元求期望
  10. java 网络编程(三)---TCP的基础级示例
  11. char*,wchar_t*,CString和BSTR之间的转换
  12. SiteMesh详解
  13. python学习进阶一
  14. ZOJ 3492 模拟循环链表线性查找
  15. rsync+innotify做到同步式更新
  16. 使用npm安装配置vue
  17. SQLServer之创建标量函数
  18. PHP获取新插入的主键id
  19. gulp ( http://markpop.github.io/2014/09/17/Gulp入门教程 )
  20. Libxml2函数及使用方法概述【转】

热门文章

  1. javasisst & JAVA8
  2. 集群hadoop ubuntu版
  3. Citrix Netscaler版本管理和选择
  4. fail2ban软件 +ssh密钥登录
  5. 关于javascript中的this 一段小实例深有体会啊
  6. .NET之特性和属性(转)
  7. supervisor提高nodejs调试效率
  8. Spring 学习笔记(三)之注解
  9. php连接mysql报错——Fatal error: Call to undefined function mysql_connect() in
  10. codechef T3 计算器