目录

1.猴子补丁

2. global和nonlocal关键字

3.迭代器和生成器

4.递归函数

5.高阶函数和lamdba函数

6.闭包

7.装饰器

1.   猴子补丁

猴子补丁主要用于在不修改已有代码情况下修改其功能或增加新功能的支持。

例如: 在使用第三方模块时,模块中的某些方法可能无法满足我们的开发需求。此时,我们可以在不修改这些方法代码的情况下,通过猴子补丁用一些

自己编写的新方法进行替代,从而实现一些新的功能。

如很多代码用到 import json,后来发现ujson性能更高,如果觉得把每个文件的import json 改成 import ujson as json成本较高,或者说想测试一下用ujson替换json是否符合预期,只需要在入口加上:

importjsonimportujsondefmonkey_patch_json():

json.__name__ ='ujson'

json.dump=ujson.dumps

json.loads=ujson.loads

monkey_patch_json()

2.   global和nonlocal关键字

在一个函数中使用global关键字,可以声明在该函数中使用的是全局变量

而非局部变量。

在一个函数中要修改全局变量,必须使用global声明。

在python中,函数的定义可以嵌套,即在一个函数的函数体中可以包含另一个函数的定义。

通过nonlocal关键字,可以使内层的函数直接使用外层函数中定义的变量。

例如:

python中fac函数_Python基础复习函数篇相关推荐

  1. python中globals用法_Python基础教程之内置函数locals()和globals()用法分析

    本文实例讲述了Python基础教程之内置函数locals()和globals()用法.分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式. python ...

  2. python filter函数_python基础——filter函数

    python基础--filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  3. python中非可选参数_python基础教程函数参数

    python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些 ...

  4. python跨文件调用lambda函数_python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件...

    1 语法2 以下是round()方法的语法:3 4 round( x [, n] )5 参数6 x --这是一个数值表达式7 8 n --这也是一个数值表达式9 10 返回值11 该方法返回 x 的小 ...

  5. python如何自定义函数_python基础之函数(自定义函数)

    函数: 函数的定义: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数. ...

  6. issubclass在python中的意思_python基础之类的isinstance与issubclass、反射

    一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass o ...

  7. python中符号输入_Python基础(输入、运算符)

    输入 1. python2版本中 1.1 使用 raw_input()函数, 看如下示例: password = raw_input("请输入密码:") print ('您刚刚输入 ...

  8. middles在python中什么意思_Python 基础知识入门(2)

    字符串格式化 Python字符串格式化有两种方式:百分号方式.format方式: 百分号的方式相对比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并在: 一.百分号方式 %[ ...

  9. python中列表数据类型_python基础数据类型一(列表)

    列表 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: ...

最新文章

  1. javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
  2. javascript / node.js / npm install 时 --save 和 --save-dev 的区别
  3. VisualBox中增大linux硬盘空间的方法
  4. python getopt.getopt_python 参数格式化getopt
  5. No module named ‘skimage.metrics‘在Anaconda3中的解决方法
  6. Rancher创始人谈Docker,创新愈发困难,未来将何去何从?
  7. Python学习笔记:利用sorted()函数对序列排序
  8. 八年级信息技术认识计算机网络,初二信息技术课名称:认识计算机网络.doc
  9. 【基础概念大总结】— 网络安全 Java 基础知识大汇总
  10. dump文件_windows程序崩溃时生成dump文件方法
  11. GJB150A-2009军用装备实验室环境试验标准目录
  12. win7桌面运行html,Win7桌面ie浏览器图标无法打开的原因及解决方法
  13. 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
  14. 联想电脑G40无法使用 非要睡眠后才能启用wifi
  15. 最新云智推任务提交版拉新任务分销系统源码+功能强大
  16. 全球地形数据下载分享
  17. 计算机采用的编码机制是什么,编码机制
  18. hihoCoder #1082 : 然而沼跃鱼早就看穿了一切
  19. 英语学习单词篇(12)
  20. Linux键盘按键中断驱动示例

热门文章

  1. Java8 Stream API 详细使用指南
  2. Python 文件打开读取写入方法
  3. Incomplete Multimodal Learning(不完整多模态学习)
  4. 递归、分治算法刷题笔记
  5. iOS中的各种快捷键
  6. 嵌入式系统常用词汇表
  7. Redis(四)集群-AKF、CAP
  8. linux静默安装oracle11g数据库教程
  9. Excel 绘制多数据散点图
  10. “伪智能”厂商能有什么坏心思,无非是想骗钱罢了