• 模块详解及import本质


    一、模块的定义
    用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)
    本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test)
    包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件)
     
    二、模块的导入
    import module_name
    import module1_name,module2_name
    #相当于将module_name.py文件赋值给module_name
    调用时:module_name.funcationname

    from module_name import *
    from module_name import 变量名/函数名
    调用时,直接使用,不用加module_name前缀
    此导入方式会引起函数名,变量名在原调用文件中的冲突
    from module_name import  func_name/varname as  new_name
    此方式可以避免上述重名冲突,使用时用new_name 调用

    from . import module_name 从当前目录导入module_name
    三、import的本质

    导入模块的本质就是把Python文件解释一遍(import test======>test = 'test.py all code')
    import module_name ------------>module_name.py------>module_name.py的路径----->sys.path
    在sys.py这个列表里查找module_name,找不到抛出错误
     
     
    导入包的本质就是解释(执行)该包下的__init__.py文件
    import package_name  #run package_name下的__init__.py文件
     
    4、导入优化
    from module_name import  func_name/varname as  new_name
    减少import的检索过程
    相当于把模块module_name 下的func_name/varname 拿到当前执行一遍
     
    5、模块的分类
    a、标准库
    b、开元模块
    c、自定义模块
     
  • 相关阅读:
    Android开发_Animation
    spring开发_JDBC操作MySQL数据库_使用xml配置事务管理
    spring开发_AOP_代理模式
    java file 文件操作 operate file of java
    spring开发_spring构造注入Bean
    spring开发_spring中Bean的作用域_singleton_prototype
    spring开发_JDBC操作MySQL数据库
    java的jxl技术导入Excel
    spring开发_spring环境搭建
    魅族m8开发 step by step(1)(让程序跑起来)
  • 原文地址:https://www.cnblogs.com/limich/p/7476879.html
Copyright © 2020-2023  润新知