zoukankan      html  css  js  c++  java
  • Python 知识要点:模块

    【概念】

    • 每个以扩展名 .py 结尾的Python源文件都是一个模块。
    • 模块名同样也是一个标识符,需要符合标识符的命名规则。
    • 在模块中定义的全局变量,函数,类都是提供给外界直接使用的工具。
    • 模块就好比是工具包,想使用这个工具包中的工具,就需要先导入这个模块。

     

    【两种导入方式】

    1. import 模块名

      一次性把模块中的所有工具全部导入,通过 模块名或别名 访问

      使用 as 指定模块的别名,import 模块名 as 模块别名(大驼峰命名规则)

    2. from 模块名 import 工具名

      从模块导入某一个工具

      导入后不需要通过模块名就可直接用模块提供的工具(全局变量,函数,类)

    若两个模块存在同名的函数,那么导入模块函数会覆盖掉先导入的函数。

    【模块的搜索顺序】

    1. 搜索当前目录下指定模块名的文件,如果有就直接导入。

    2. 如果当前目录没有,在搜索系统名录。(开发时给文件起名,不要和系统的模块文件重名

    Python中每一个模块都有一个内置属性 __file__ 可以查看模块的完整路径

    【开发原则】

    每个文件都应该是可以被导入的

    一个独立的Python文件就是一个模块

    再导入文件时,文件中所有没有任何缩进的代码都会被执行一遍

    实际开发中,每个模块都是独立开发的,大多都有专人负责。开发人员通常会在模块下方增加一些测试代码。

    测试代码仅在模块内使用,而被导入其他文件中不会被执行。

    __name__,可以做到测试模块的代码只在测试下被运行,被导入时不会被执行

    • 是Python的一个内置函数,记录着一个字符串
    • 若是被其他文件导入,__name__就是文件名
    • 若是当前执行的程序(模块),__name__是__main__

    if __name__ == "__main__"

      print("只在自己模块内执行")

    【包 Package】

    包是一个包含多个模块的特殊目录

    目录下有一个特殊的文件 __init__.py

    包名的命名方式和变量一样,小写字母_数字

    使用 import 包名可以一次性导入包中所有的模块

    __init__,外界要使用包中的模块,需在 __init__.py 中指定对外界提供的模块列表

    __init__是一个空文件,将它放在某个目录中,就可以将该目录中的其它 .py 文件作为模块被引用

    【发布模块】

    将开发的模块分享给其他人

    1. 制作发布压缩包步骤

    • 创建 setup.py (参数信息)
    • 构建模块  $ python3 setup.py build
    • 生成发布  $ python3 setup.py sdist

    2. 安装模块

    • $ tar -zxvf  message.tar.gz    解压压缩包
    • $ sudo python3 setup.py install  安装模块

    3. 卸载模块

    • 直接从安装目录下吧安装模块的目录删除就可以
    从现在开始,种下梦想中的参天大树
  • 相关阅读:
    【牛客网】Finding Hotel
    【牛客网】Longest Common Subsequence
    【ZOJ】4012 Your Bridge is under Attack
    【LOJ】#2210. 「HNOI2014」江南乐
    可能是一篇(抄来的)min25学习笔记
    【LOJ】#3020. 「CQOI2017」小 Q 的表格
    【51nod】1602 矩阵方程的解
    【51nod】1634 刚体图
    【51nod】1407 与与与与
    【51nod】1776 路径计数
  • 原文地址:https://www.cnblogs.com/dc2019/p/13210656.html
Copyright © 2011-2022 走看看