zoukankan      html  css  js  c++  java
  • Python进阶04 模块

    一、什么是模块

    随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

    为了编写可维护的代码,我们根据业务逻辑的不同把函数或类分组,分别放到不同的文件里。

    逻辑上来说模块就是一组功能的组合;实际上在Python中,一个.py文件就称之为一个模块(Module)。

    二、使用模块的好处

    1、提高可维护性

    2、可重用

    3、避免函数名和变量名冲突

    三、模块的分类

    1、内置标准模块(又称标准库)。执行help('modules')查看所有Python所有自带模块列表。

    2、第三方开开源块。可通过pip install 模块名 直接联网安装,如flask等

    >>> pip install flask

    3、自定义模块。自己编写的功能模块即.py文件。

    四、导入模块

    1、import somemodule 导入模块的所有方法

      调用模块内的类、函数或变量时,需要以module.xxx的方式。

    >>> import math
    >>> math.floor(10.1)
    10

    2、from somemodule import somefunction  导入模块的单个方法

      这种方式可以节省写长串导入路径的代码,但要小心名字冲突。

    >>> from math import sqrt
    >>> sqrt(4)
    2.0

    3、from somemodule import somefunction, anotherfunction, yetanotherfunction

    >>> from math import floor, sqrt
    >>> floor(10.1)
    10
    >>> sqrt(4)
    2.0

    4、from somemodule import *  导入模块的所有方法 (不推荐)

      将模块内的所有内容全部导入。非常容易发生命名冲突,请慎用!

    5、import somemodule as anothermodule    from somemodule import somefunction as anotherfunction  导入时重命名

    为了避免导入时重名,可以给导入的模块或者模块内容进行重命名。

    >>> import math as mh
    >>> mh.floor(10.1)
    10
    >>> from math import sqrt as st
    >>> st(4)
    2.0

    五、包

    当模块文件越来越多,就需要对文件进行管理,比如把与联系人相关的都放一个文件夹,把与公司相关的放一个文件夹。
    Python这种按文件目录来组织模块的方法,称为包(Package),包是模块的集合,比模块又高一级的封装。通俗来说,在一个文件夹里面可以管理多个模块文件,这个文件夹就被称为包。
     
    要被Python视为包,目录必须包含文件__init__.py。如果像普通模块一样导入包,文件__init__.py的内容就是包的内容。
    例如一个名为constants的包,而文件constants/__init__.py包含语句 PI = 3.14,那么可以这样导入包:
    import constants
    print(constants.PI)

    要将模块加入包中,只需将模块文件放在包目录中即可。

    你还可以在包中嵌套其他包。



    参考文章:
    https://www.jianshu.com/p/fce920673691

    Python开源模块库
  • 相关阅读:
    Week2实验 B--爆零(❌)大力出奇迹(√) HDU
    Windows10家庭版安装Docker(不是DockerToolbox)
    Ubuntu搭建DNS服务器遇到的问题1
    Ubuntu执行apt-get时遇到的问题1
    Windows2000下vc++6.0编译出现“Error spawning cl.exe”
    win2000安装官方发布的最后一个补丁KB891861
    Windows2000密钥
    Linux下使用gets和puts方法出现的错误
    执行.sh文件调用变量时出现“未找到命令”
    SQL Server2012无法连接到服务器
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12530034.html
Copyright © 2011-2022 走看看