• 模块: 简介, 自定义模块


    一 模块的简介

    模块:

    1. 拿来就用
    2. 节省开发时间
    3. 提升效率
    4. 结构化, 便于查找 ,便于修改,便于维护
    5. 模块分类: 内置模块,第三方模块(pypi第三方模块平台),自定义模块

    二 自定义模块

    一个py文件就是一个模块 模块名是不需要加后缀名的

    2.1 import 导入

    为了防止重复导入,python优化,第一次导入后会把模块名加载到内存,后续的import语句仅是对已经加载到内存中的模块对象增加了一次引用,不会重新执行模块内的语句

    导入发生的事情:

    1. 在当前的名称空间中开辟一个新的空间
    2. 将模块中的所有代码执行
    3. 通过模块名进行查找函数(工具)

    每个模块都是一个独立的名称空间

    起别名:

    import text as t
    t.func()
    

    做兼容性

    choose = input(msg)
    if choose == '1':
    	import meet as t
    elif choose == '2':
    	import text as t
    t.func()
    

    导入多个模块

    import os,sys,json #可以这样写单不推荐
    # 推荐分开写:
    import os
    import sys
    import json
    

    2.2 from ... import ...

    from text import func
    func()
    

    1. import 和 from的区别

    import:

    优点:不会和当前文件定义的变量或者函数发生冲突

    缺点:占用内存比较大

    from:

    优点:占用内存比较小

    缺点:会和当前文件定义的变量或函数发生冲突

    解决办法:起别名

    from test import name as n
    

    2.3 一行导入多个

    from test import name,func,foo
    

    2.4 from ... import *

    把文件中所有的不是以下划线开头的名字都导入到当前位置

    可能会覆盖之前定义的名字,可读性差

    # 在被导入的模块顶部写
    __all__['name','func()'] # 你想导入的
    # 只针对 *
    

    2.5 py文件的两种功能

    脚本: 在终端中执行

    模块: 不使用或者导入

    if __name__ == '__main__': #测试接口
        func()
    # 在当前模块中使用__name__就是'__main__'
    # 当模块被导入的时候__name__就是被导入的模块名
    

    2.6 导入路径

    相对路径: form day15.t1 import text

    从day15文件夹的t1文件夹中导入text模块

    绝对路径:

    from sys import path
    path.insert(0,'D:\')  # 把绝对路径加到环境变量中
    

    2.7 模块的查找顺序

    内存中已经加载的模块->内置模块->sys.path路径中包含的模块

    自定义的模块名不应该与系统内置模块重名

  • 相关阅读:
    操作Redis--hash/key-value
    Coverage数据构成
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/lav3nder/p/11801741.html
Copyright © 2020-2023  润新知