博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模块and包
阅读量:4338 次
发布时间:2019-06-07

本文共 1039 字,大约阅读时间需要 3 分钟。

一.模块

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

  1.使用python编写的py文件

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

  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.相对导入(大项目推荐)

  .  表示本层

  ..  表示上一层

  相对导入注意事项:

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

 

转载于:https://www.cnblogs.com/q767498226/p/10197418.html

你可能感兴趣的文章
低速前碰开发
查看>>
python-9-IO编程
查看>>
【GoLang】转载:我为什么放弃Go语言,哈哈
查看>>
【MySQL】MySQL 如何实现 唯一随机数ID
查看>>
【Redis】Redis分布式集群几点说道
查看>>
HDU2819(KB10-E 二分图最大匹配)
查看>>
mysql主从复制、redis基础、持久化和主从复制
查看>>
文档工具GitBook使用
查看>>
两个链表的第一个公共节点
查看>>
知道这20个正则表达式,能让你少写1,000行代码
查看>>
MariaDB 主从同步与热备(14)
查看>>
推荐的 CSS 书写顺序
查看>>
NIO:与 Buffer 一起使用 Channel
查看>>
Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
查看>>
MFC接收ShellExecute多个参数
查看>>
volatile和synchronized的区别
查看>>
RocketMQ介绍与云服务器安装
查看>>
并发量计算研究
查看>>
sqlserver安装相关问题
查看>>
iOS学习系列 - 利用ASIHTTPRequest实现异步队列
查看>>