模块and包
一.模块
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.相对导入(大项目推荐)
. 表示本层
.. 表示上一层
相对导入注意事项:
存在相对导入语句的模块,是不能直接运行的.因为一个模块必须有包结构且只能导入它的顶层模块内部的模块,所有一个模块被直接运行,则它自己为顶层模块,不存在层次结构,所以找不到其他的相对路径.
模块and包的更多相关文章
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- Python中函数、类、模块和包的调用
初学python阶段,大多数人对函数.类.模块和包的调用都搞得不是很清楚,这篇随笔就简单的进行说明. (1)函数 当函数定义好之后,可以直接调用. 比如:def summ(add1,add2),那么 ...
- Python模块和包
模块和包是python组织代码的基本方式. 模块: python的每一个脚本文件都可称之为模块,模块的名称就是脚本的文件名.例如当我们写了一个test.py的脚本文件,则可以在同目录下的另外一个脚本m ...
- python模块与包的导入
1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module packag ...
- python模块及包的导入
一.模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc".&q ...
- 简述Python模块和包
我们常常会使用别人写的包,假如我们使用的是Python3.4版本,安装在windows的C盘根目录下,那么外部的包一般放在:C:\Python34\Lib\sit-packages下,此目录下有以.p ...
- python 深入模块和包
模块可以包含可执行语句以及函数的定义. 这些语句通常用于初始化模块. 它们只在 第一次 导入时执行.只在第一次导入的时候执行,第一次.妈蛋的第一次...后面再次导入就不执行了. [1](如果文件以脚本 ...
- Python中的模块与包
标准库的安装路径 在import模块的时候,python是通过系统路径找到这些模块的,我们可以将这些路径打印出来: >>> pprint.pprint(sys.path) ['', ...
- Python类、模块、包的区别
类 类的概念在许多语言中出现,很容易理解.它将数据和操作进行封装,以便将来的复用. 模块 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能 ...
- python学习笔记13(模块、包)
在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...
随机推荐
- python之图像识别
1. 安装配置 1.pip install pytesseract 2.pip install pillow 3.安装tesseract-ocr:http://jaist.dl.sourceforge ...
- c# 关闭和重启.exe程序
Process[] myprocess = Process.GetProcessesByName("a"); if (myprocess.Count() > 0)//判断如果 ...
- 【转】web.xml配置项详解
史上最全web.xml配置文件元素详解 一.web.xml配置文件常用元素及其意义预览 1 <web-app> 2 3 <!--定义了WEB应用的名字--> 4 <d ...
- 支付宝小程序开发之与微信小程序不同的地方
前言: 本文仅汇总微信小程序移植支付宝小程序过程中遇到的一些不同的地方,详细请参考官方开发文档. 网络请求: 对于网络请求,基本上改动不大,也就支付宝小程序没有responseType属性及响应码字段 ...
- js阻止时间冒泡事件——event.stopPropagation()
1. 作用:不再派发事件. 2. 语法: html代码: <div class="oreder-cont" ng-click="Orderdetails()&quo ...
- 什么是QPS,PV
术语说明: QPS = req/sec = 请求数/秒 [QPS计算PV和机器的方式] QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求时间 ...
- Java06-java基础语法(五)数组
Java06-java基础语法(五)数组 一.循环的嵌套 在一个循环体内部再含有一个或多个循环 强调:内循环全部做完以后再去执行下一次的外循环 int k = 0; for(int i = 0; i& ...
- 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX(转)
原文地址:https://www.cnblogs.com/feng18/p/5646925.html 从网上抓了一些字节流,想打印出来结果发生了一下错误: UnicodeEncodeError: 'g ...
- for循环中的 break和continue的区别
break 语句用于跳出循环. for (i=0;i<10;i++) { if (i==3) { break; } x=x + "The number is " + i + ...
- jQuery 实例
选择器 $(this).hide() 隐藏当前的 HTML 元素. $("p").hide() 隐藏所有 <p> 元素. $(".test").hi ...