模块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后缀结 ...
随机推荐
- 51nod 1163 最高的奖励
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1163 1163 最高的奖励 基准时间限制:1 秒 空间限制:13 ...
- Python 学习笔记---基础篇
1. 简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200 import subprocess cmd="cmd.exe" b ...
- vue 实现多选
v-model <template> <!--用户页面-选择关注--> <div class="follow"> <h4>选择关注& ...
- unitest中HTML测试报告的优化
简介: 为每一个测试用例添加说明,那么将会使测试报告更加易读,工作中汇报数据的技巧 其实就是添加u“msg”即可 # -*- coding:UTF-8 -*- __autor__ = 'zhouli' ...
- mysql乐观锁总结和实践(一)
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持 ...
- transaction注解分析
1. Spring事务的基本原理 事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编码式和声明式的两种方式.编程式事务指的是通过编码方 ...
- 无法连接到localhost.其他信息:用户“sa”登录失败。(MicroSoft Sql Server,错误:18456)
18456错误: 在安装的时候如果选择的身份验证模式为:Window身份验证模式,就会出现18456的错误. 解决方案: 使用windows身份验证登录之后,在下面红框上单击右键,点击属性: 点击属性 ...
- springboot项目maven报错 LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback
完整信息如下 SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/D:/deve ...
- c语言使用指针对int数组的求和
#include <stdio.h> int sump(int *, int *); int main(void) { , , , , }; printf()); ; } int sump ...
- Android开发之自定义Toast(带详细注释)
因为工作需求,所以自己研究了自定义Toast,这里做出总结: 在此之前有一点需要提前说明:Toast与其他组件一样,都属于UI界面中的内容,因此在子线程中无法使用Toast弹出提示内容,如果强行在子线 ...