zoukankan      html  css  js  c++  java
  • 第9章 模块与包

    9.1 模块的概念

      模块是一个保存了Python代码的文件,其中可以包含变量、函数或类的定义,也可以包含其他各种Python语句。使用模块有以下3方面的优势。

    (1)模块提高了代码的可维护性。在程序开发过程中,随着程序功能的增多,在一个文件中的代码会越来越长,从而造成程序不易维护,此时可以把相关功能的代码分配到一个模块里,从而使代码更易懂、更易维护。

    (2)模块提高了代码的可重用性。在应用程序开发中,经常需要处理时间,此时不必在每个程序中写入时间的处理函数,只需导入time模块即可。

    (3)模块避免了函数名和变量名冲突。由于相同名字的函数和变量可以分别存在于不同模块中,在编写模块时,不必考虑名字会与其他模块冲突(此处不考虑导包情况)。

      在Python中,模块可以分为3类,具体如下所示:

      内置标准模块(标准库)——Python自带的模块,如sys、os等。

      自定义模块——用户为了实现某个功能自己编写的模块。 第三方模块——其他人已经编写好的模块。

       一个Python程序可由若干模块构成,一个模块中可以使用其他模块的变量、函数和类等,如图所示。

      

    9.2 模块的导入

      模块需要先导入,然后才能使用其中的变量或函数。在Python中使用关键字import导入某个模块,其语法格式如下:

      

    9.3 内置标准模块

      Python标准库中包括了许多模块,从Python语言自身特定的类型到一些只用于少数程序的模块,本节主要介绍基础阶段常见的内置标准模块。

      9.3.1 sys模块

      sys模块是Python标准库中最常用的模块之一。通过它可以获取命令行参数,从而实现从程序外部向程序内部传递参数的功能,也可以获取程序路径和当前系统平台等信息。 接下来演示通过sys模块获取命令行参数,如例所示。

      

      9.3.2 platform模块

      platform模块提供了很多方法用于获取有关开发平台的信息,如例所示。

      

      9.3.3 random模块

      random模块用于生成随机数,其中常用的函数如表所示。

      

      9.3.4 time模块

      time模块用于获取并处理时间,Python中有两种时间表示方式,接下来分别介绍每种表示方式。

      1. 时间戳 时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。在time模块中的time()函数可以获取当前时间的时间戳,如例所示。

      

      2. 时间元组

      

    9.4 自定义模块

      毕竟内置标准模块的功能有限,开发人员经常需要自定义函数,此时可以把函数组织到模块中,其他程序只需导入便可以引用模块中定义的函数,这种做法不仅使程序具有良好的结构,而且增加了代码的重用性。

    9.5 包的概念

      Python的程序由包、模块和函数组成。包是由一系列模块组成的集合,模块是处理某一类问题的函数和类的集合,它们之间的关系如图所示。

        

    9.6 包的发布

      (1)在pack所在的文件目录下新建setup.py、MANIFEST.in、README.txt文件,其目录结构如下:

      

      (2)打开setup.py文件,编辑其内容如下:

      

      

      (3)在终端模式下,进入pack包所在的文件目录执行如下命令:

      

      (4)接着在终端模式下输入以下命令

      

    9.7 包的安装

      (1)进入压缩包所在的文件目录并对其进行解压,解压后的文件目录如下所示:

        

      

      (2)在终端模式下,进入myProject-1.0目录下执行如下命令:

      

      

  • 相关阅读:
    状态模式
    $和@的特殊处理
    Windows服务调试状态下用Console启动
    AutoResetEvent
    await和async
    计算a,b,c的排列组合
    百度地图:通过经纬度获得位置信息和距离
    装饰模式
    vue+h-ui+layUI完成列表页及编辑页
    为什么memset不能将数组元素初始化为1?
  • 原文地址:https://www.cnblogs.com/yuanzhihui/p/14064097.html
Copyright © 2011-2022 走看看