Python&动态语言探索
Dave888Zhou
大处着眼,小处着手;群居守口,独居守心。
展开
-
Python中的高级设计模式
本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求、对数据一致性的要求或是对索引的要求等,同时也可以将各种数据结构合适地结合在一起,从而生成具有逻辑性并易于理解的数据模型。Python的数据结构从句法上来看非常直观,并且提供了大量的可选操作。这篇指南尝试将大部分常用的数据结构知识放到一起,并且提供对其最佳用法的探讨。 推翻译 2014-04-11 17:13:52 · 4190 阅读 · 0 评论 -
Python装饰器与面向切面编程
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 1. 装饰器入门 1.1. 需求是怎么来的? 装饰器的定义很是抽象,我们来看一个小例子。转载 2014-04-14 12:34:32 · 1523 阅读 · 0 评论 -
Python线程指南
1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2. 线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改转载 2014-04-11 17:23:00 · 1027 阅读 · 0 评论 -
Python并发编程
简介 我们将一个正在运行的程序称为进程。每个进程都有它自己的系统状态,包含内存状态、打开文件列表、追踪指令执行情况的程序指针以及一个保存局部变量的调用栈。通常情况下,一个进程依照一个单序列控制流顺序执行,这个控制流被称为该进程的主线程。在任何给定的时刻,一个程序只做一件事情。 一个程序可以通过Python库函数中的os或subprocess模块创建新进程(例如os.fork()或是su翻译 2014-04-16 14:54:28 · 10427 阅读 · 2 评论 -
Python反射指南
首先通过一个例子来看一下本文中可能用到的对象和相关概念。转载 2014-04-12 14:31:58 · 1472 阅读 · 0 评论 -
Python性能优化指南
1、使用生成器 一个普遍被忽略的内存优化是生成器的使用。生成器让我们创建一个函数一次只返回一条记录,而不是一次返回所有的记录,如果你正在使用python2.x,这就是你为啥使用xrange替代range或者使用ifilter替代filter的原因。一个很好地例子就是创建一个很大的列表并将它们拼合在一起。转载 2014-04-21 18:11:16 · 18243 阅读 · 3 评论 -
Python面向对象编程指南
虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程。下面就来了解一下如何在Python中进行对象编程。 一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义:转载 2014-04-16 14:30:54 · 23546 阅读 · 7 评论 -
Python字符编码与正则表达式指南
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。 1.2. MBCS 然而计算转载 2014-04-12 14:28:42 · 5950 阅读 · 1 评论 -
Python函数式编程指南
1. 函数式编程概述 1.1. 什么是函数式编程? 函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始终能产生同样的结果。 在一个函数式的程序中,输入的数据“流过”一系列的函数,每一个函数根据它的输入产生输出。函数式风格避免编写有“边界效应”(side effects)的函数:修改内部状态,或者是其他无转载 2014-04-14 12:38:45 · 4801 阅读 · 0 评论 -
Python之禅
在Python交互式解释器中输 import this就会显示Tim Peters的The Zen of Python翻译 2014-04-21 18:19:07 · 13542 阅读 · 0 评论