美文网首页
009-模块

009-模块

作者: 痞子_4ae7 | 来源:发表于2020-05-14 11:49 被阅读0次

模块介绍

  • 概念
    • Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
  • 作用
    • 模块让你能够有逻辑地组织你的 Python 代码段。
    • 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
    • 模块能定义函数,类和变量,模块里也能包含可执行的代码。

模块使用

  • 模块的引入
    • 引入语法
    import module1[, module2[,... moduleN]
    
    导入多个模块的话,逗号隔开就可以
    比如要引用模块random,就可以在文件最开始的地方用 import random 来引入。
    • 调用语法
    模块名.函数名(参数)
    print(random.randint(1,6))
    

注意:一个模块只会被导入一次,不管你执行了多少次import

  • 模块中函数,变量,类的引入

    • from…import 语句 语法
    from modname import name1[, name2[, ... nameN]]
    
    • from…import 语句 案例
    from MyTools import  showTenRandomNumber,showTenRandomNumber1
    

    Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
    导入之后,被导入的方法可以直接使用方法名完成调用,不再需要模块名

    showTenRandomNumber()
    showTenRandomNumber1()
    
  • 模块中所有内容的引入

    • from…import * 语法
    from modname import *
    
    • from…import * 案例
    from  MyTools import *
    

    直接通过函数名就可以完成调用

    showTenRandomNumber()
    showTenRandomNumber1()
    print(PI)
    

自定义模块的制作

  • 封装任意一个工具类()

模块的测试

  • 测试代码
在模块中,完成代码的测试
  • 使用模块
导入模块,发现模块中的测试代码会先执行一次,
解决方案:给测试代码加判断条件:    
if __name__ == '__main__':
    pass
__name__ :python解释器主动执行的代码才会为'__main__'
  • all的用法(python3之后不建议使用)

    • import 不受影响
    • from 模块 import *
    使用from 模块  import *  只会导入__all__中包含的方法
    __all__ = ['showTenRandomNumber']
    

Python中的包

  • 概念
包是一个分层次的文件目录结构,它定义了一个由模块及子包,
和子包下的子包等组成的 Python 的应用环境,包中要包含一个__init__.py模块
  • 新的模块名
包名.模块名
  • 包中模块的导入方式
import package1.module1
或者
from  package1 import module1
  • 包中数据的访问方式
package.module1.moduleTest1()
  • _ _ init_ _.py 的内容
__init__.py 也是一个模块,可以在模块中写任意代码
首次使用包的时候,__init__.py会默认执行一次
也可以写:
from . 模块1 import *
from . 模块2 import *
这样在导入包的时候,__init__.py中的代码会默认执行

这样的好处是: 可以直接导入包
弊端,如果两个包中有同名变量,会出问题

模块的发布

  • 为什么要发布

    • 查找顺序(sys.path)
    • 安装到系统目录下
  • 怎么发布?

    • 要发布的目录结构(uft-8格式)
    |----setup.py
    |----package1
          |----module1
          |----module2
    |----package2
          |----module3
          |----module4
    
    • 编辑setup文件
    from  distutils.core import setup
    setup(name='压缩包的名字',version='1.0',description='描述',
    author='大卫',py_modules=['package1.模块1','package1.模块2',
    'package2.模块1'])
    
    • 构建模块
    DOS窗口找到该文件
    python setup.py build   
    
    • 生成发布压缩包
    python setup.py sdist
    

自定义模块的安装、使用

  • 安装的方式
    • 找到模块的压缩包
    • 解压
  • 进入文件夹
  • 执行命令 python setup.py install
注意:如果在install的时候,
指定目录安装,可以使用
python setup.py install --prefix=安装路径

暴力安装

  • 直接将包复制到site-packages

相关文章

  • 009-模块

    模块介绍 概念Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Pytho...

  • 玩偶公仔怎么用礼品纸包装送人?

    毛绒公仔的礼物包装方法。 礼盒先生 基础礼物包装009-玩偶包法 1. 基础礼物包装009-玩偶包法↓ 2. 包装...

  • 009-小结

    2018开始一周了,我的生活发生了一些改变,不知道是好是坏,写出来,也许写的过程就有新的收获,从脑袋空空开始写字,...

  • 009-稀缺

    稀缺是一个基本事实,是经济学的前提。 稀缺有两个原因: 一、你想要的东西别人也想要。 二、人的需求在不断变化,不断...

  • 009-宽心

    今天整个娱乐界最疯狂消息估计就是,王宝强的离婚家事,毫无悬念的成为了头条,盖过了大家关注奥运的程度。公布这样的消息...

  • 009-字典

    1、定义字典 2、增、删、改 3、遍历 4、合并

  • 009-拍卖

    收藏博物馆 2019 月历,原价 ¥149,拍到手 ¥80。 起拍价 ¥0,加价 ¥2 起,只要有人喊价,我一律加...

  • 009-字典

    字典简介 字典里面的数据是以键值对形式出现 字典数据和顺序没有关系,不支持下标查找 可以根据 key 查找对应的 ...

  • @@@@@@@@

    \009-享学课堂安卓架构第一期├01 flutter│ ├Dart异步编程(1)-.mp4│ ├Dart异步...

  • 【火炉炼AI】深度学习009-用Keras迁移学习提升性能(多分

    【火炉炼AI】深度学习009-用Keras迁移学习提升性能(多分类问题) (本文所使用的Python库和版本号: ...

网友评论

      本文标题:009-模块

      本文链接:https://www.haomeiwen.com/subject/wuftohtx.html