• 【语言处理与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

    防御性编程

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

  • 相关阅读:
    大数据下高并发的处理详解
    【玩转TensorFlow】TensorFlow常见问题详解
    在阿里云上两分钟玩转AlextNet
    【前端精华】React源码分析系列
    svm
    神经网络结构选择
    神经网络反向传播跳出局部极小
    ubuntu16.04设置电池充电阈值
    pandas datafram重命名列名称
    centos6.8/ubuntu 安装python2.7 or python3.6
  • 原文地址:https://www.cnblogs.com/createMoMo/p/3098748.html
Copyright © 2020-2023  润新知