【语言处理与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) """
多模块程序
误差源头
总结出来一共有三种:
1、输入的数据包含一些意想不到的字符
2、提供的函数不像预期那样运作
3、我们对Python语义理解的错误(可以简单理解成对Python语法上的错误理解造成的编程错误)
调试技术
如果程序出现错误,解释器会输出一个堆栈跟踪信息,来帮助我们调试程序。
Python也提供了调试器:
import pdb import mymodule pdb.run('mymodule.myfunction()')
进入pdb调试模式之后,有很多的命令可以使用,可以通过输入help来查看命令的完整列表
常用的命令有:
step、next、break、continue
防御性编程
总之,就是保证自己的代码写的有质量,在这里不是主要讨论的。