zoukankan      html  css  js  c++  java
  • 模块and包

    一.模块

    1.import 加载的模块四个通用类别

      1.使用python编写的py文件

      2.已被编译为共享库或者DLL或者CC++的扩展

      3.包好一组模块的包

      4.使用c编写并连接到python解释器的内置模块

    2.导入模块时python的流程

      1.先判断当前导入的模块是否已经导入过

      2.如果导入过,不会重新导入该模块

      3.如果没有导入过,给导入的模块创建新的名称空间

      4.在新创建的名称空间中运行该模块中的代码

      5.创建模块的名字,方便后面的引用

    3.if __name__ == '__main__'的作用

      如果在自己py中运行,__name__ 就是 __main__

      如果被其他py导入运行,__name__就是导入模块的名字

      这样可以控制在别人导入的时候执行if __name__ == "__main__":下面的代码

    4.导入模块的规则

      1.所有的模块导入都要写在最上面,

      2.先引入内置模块

      3.再引入扩展模块

      4.最后引入自己写的模块

    5.导入模块的方式

      1.import  xxx        导入xxx ,也可以导入xxx中的东西        

      2.from xxx import yyy     从xxx中导入yyy             # 注意重名 重名了用的是后面的

      3.from xxx import *       从xxx中导入全部    不推荐,这样写注意名字会不会重名

      4.import  xxx as x      导入xxx并命名为x

    6.自定义模块名注意事项

      自己写的模块名千万不要和系统的内置模块重名

    二.包

      一个表达式 -> 一条语句 -> 语句块 -> 函数 -> 类 -> 模块 -> 包

      包就是我们的文件夹,包内可以写很多个模块

      包,模块的查找路径:sys.path 随动  跟着你的启动文件所在位置变化

     1.绝对导入(推荐)

      跟模块一样

     2.相对导入(大项目推荐)

      .  表示本层

      ..  表示上一层

      相对导入注意事项:

        存在相对导入语句的模块,是不能直接运行的.因为一个模块必须有包结构且只能导入它的顶层模块内部的模块,所有一个模块被直接运行,则它自己为顶层模块,不存在层次结构,所以找不到其他的相对路径.

  • 相关阅读:
    hello , world Tkinter代码描述
    Tkinter 类
    什么是Tkinter?
    99_恢复二叉搜索树
    总结eclipse中常用好用的快捷键或者自定义一下快捷键:
    封装与职责分离的开发思维
    正在学习的路上
    串比较
    坚持的力量 第二十篇
    串连接
  • 原文地址:https://www.cnblogs.com/q767498226/p/10197418.html
Copyright © 2011-2022 走看看