【语言处理与Python】4.6程序开发

Python模块的结构

一个模块可以包含用于创建和操纵一种特定的数据结构,如语法树的代码,或者执行特定的处理任务,如绘制语料统计图表的代码。

下面是一个比较标准的模块文件的docstring的写法,仅供参考:

#NaturalLanguageToolkit:DistanceMetrics
#
#Copyright(C) 2001-2009 NLTKProject
#Author:EdwardLoper <edloper@gradient.cis.upenn.edu>
# StevenBird<sb@csse.unimelb.edu.au>
# TomLippincott<tom@cs.columbia.edu>
#URL:<http://www.nltk.org/>
#Forlicense information, see LICENSE.TXT
#
"""
DistanceMetrics.
Computethe distancebetweentwo items (usually strings).
Asmetrics,they mustsatisfy the following three requirements:
1.d(a, a) = 0
2.d(a, b) >=0
3.d(a, c)<=d(a,b) +d(b, c)
"""

 

多模块程序

image

误差源头

总结出来一共有三种:

1、输入的数据包含一些意想不到的字符

2、提供的函数不像预期那样运作

3、我们对Python语义理解的错误(可以简单理解成对Python语法上的错误理解造成的编程错误)

调试技术

如果程序出现错误,解释器会输出一个堆栈跟踪信息,来帮助我们调试程序。

Python也提供了调试器:

import pdb
import mymodule
pdb.run('mymodule.myfunction()')

进入pdb调试模式之后,有很多的命令可以使用,可以通过输入help来查看命令的完整列表

常用的命令有:

step、next、break、continue

防御性编程

总之,就是保证自己的代码写的有质量,在这里不是主要讨论的。

posted @ 2013-05-25 14:31  createMoMo  阅读(312)  评论(0编辑  收藏  举报