前言
Python 是一种极具可读性和通用性的编程语言。它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣。Python 易于设置,并且是用相对直接的风格来编写,对错误会提供即时反馈,对初学者而言是个很好的选择。
Python 是一种多范式语言,支持多种编程风格,包括脚本和面向对象,这使得它适用于通用目的。随着越来越多地在工业中被使用,Python 为那些寻求额外编程语言的人提供了巨大的潜力。
当一个被称为 comp.lang.python 的 Python 新闻组在 1994 年形成时,Python 的用户基础不断增长,这为 Python 成为开源开发中最受欢迎的编程语言之一铺平了道路。
接下来,介绍四个经典的 Python 练手实战项目,帮助你深入理解 Python 的核心语法与架构设计。
项目一:即时标记解析器
这是《Python 基础教程》中的实践项目,旨在熟悉 Python 的代码方式及基本与非基本语法。重构后的程序分为四个模块:处理程序模块、过滤器模块、规则模块、语法分析器。
1. 处理程序模块 (handlers.py)
这个模块的作用是提供固定的 HTML 标记的输出(每一个标记都有 start 和 end),并对标记输出的开始和结束提供一个友好的访问接口。
class Handler:
def __init__(self):
self.filters = []
def addFilter(self, f):
self.filters.append(f)
def handle(self, data):
result = ''
for filter in self.filters:
result = filter.handle(result + data)
return result
2. 过滤器模块 (filters.py)
这个模块更为简单,其实就是一个正则表达式的字符串。常见的过滤器包括强调牌过滤器、URL 牌过滤器、Email 牌过滤器。
class Filter(Handler):
def __init__(self, pattern, handler):
Handler.__init__(self)
self.pattern = pattern
self.handler = handler
def handle(self, data):
re
result =
lastEnd =
re.finditer(.pattern, data):
result += data[lastEnd:.start()]
result += .handler.handle(.group())
lastEnd = .end()
result += data[lastEnd:]
result


