请选择 进入手机版 | 继续访问电脑版

笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册
笨鸟编程-零基础入门Pyhton教程 首页 《Python进阶》中文版
订阅

《Python进阶》中文版

基于生成器的实现
我们还可以用装饰器(decorators)和生成器(generators)来实现上下文管理器。Python有个contextlib模块专门用于这个目的。我们可以使用一个生成器函数来实现一个上下文管理器,而不是使用一个类。让我们看看一个基本的 ...
2022-2-21 02:43
处理异常
我们还没有谈到__exit__方法的这三个参数:type,value和traceback。在第4步和第6步之间,如果发生异常,Python会将异常的type,value和traceback传递给__exit__方法。它让__exit__方法来决定如何关闭文件以及是否需要 ...
2022-2-21 02:42
基于类的实现
一个上下文管理器的类,最起码要定义__enter__和__exit__方法。让我们来构造我们自己的开启文件的上下文管理器,并学习下基础知识。class File(object): def __init__(self, file_name, method): self.file_obj = op ...
2022-2-21 02:42
上下文管理器(Context managers)
上下文管理器允许你在有需要的时候,精确地分配和释放资源。使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一段代码。上下文管理器就是专门让你做这种 ...
2022-2-21 02:42
Python 2系列版本
你可以创建任意种类的缓存机制,有若干种方式来达到相同的效果,这完全取决于你的需要。这里是一个一般的缓存:from functools import wraps def memoize(function): memo = {} @wraps(function) def wrapper(*args) ...
2022-2-21 02:41
Python 3.2及以后版本
我们来实现一个斐波那契计算器,并使用lru_cache。from functools import lru_cache @lru_cache(maxsize=32) def fib(n): if n 2: return n return fib(n-1) + fib(n-2) print() # Output: 那个maxsize参数是告诉 ...
2022-2-21 02:41
函数缓存 (Function caching)
函数缓存允许我们将一个函数对于给定参数的返回值缓存起来。当一个I/O密集的函数被频繁使用相同的参数调用的时候,函数缓存可以节约时间。在Python 3.2版本以前我们只有写一个自定义的实现。在Python 3.2以后版本, ...
2022-2-21 02:41
协程
Python中的协程和生成器很相似但又稍有不同。主要区别在于:生成器是数据的生产者协程则是数据的消费者首先我们先来回顾下生成器的创建过程。我们可以这样去创建一个生成器: def fib(): a, b = 0, 1 while True: yie ...
2022-2-21 02:40
目标Python2+3
很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+。试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3。这时候你有两个办法。第一个办法是开发两个模块 ...
2022-2-21 02:40
open函数
open函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用:f = open('photo.jpg', 'r+') jpgdata = f.read() f.close() 我现在写这篇文章的原因,是大部分时间我看到open被这样使用。有三个错误存 ...
2022-2-21 02:39
Python/C API
Python/C API可能是被最广泛使用的方法。它不仅简单,而且可以在C代码中操作你的Python对象。这种方法需要以特定的方式来编写C代码以供Python去调用它。所有的Python对象都被表示为一种叫做PyObject的结构体,并且头 ...
2022-2-21 02:39
SWIG
SWIG是Simplified Wrapper and Interface Generator的缩写。是Python中调用C代码的另一种方法。在这个方法中,开发人员必须编写一个额外的接口文件来作为SWIG(终端工具)的入口。Python开发者一般不会采用这种方法, ...
2022-2-21 02:39
CTypes
Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改。也正是如此奠定了这种方法的简单性。示例如下实现 ...
2022-2-21 02:38
使用C扩展
CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/C API。每种方式也都有各自的利弊。首先,我们要明确为什么 ...
2022-2-21 02:38
else从句
for循环还有一个else从句,我们大多数人并不熟悉。这个else从句会在循环正常结束时执行。这意味着,循环没有遇到任何break. 一旦你掌握了何时何地使用它,它真的会非常有用。我自己对它真是相见恨晚。有个常见的构造 ...
2022-2-21 02:38
12345下一页

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-7-22 09:50 , Processed in 0.025607 second(s), 7 queries .

© 2001-2020

返回顶部