python全栈开发day18-模块和导入
1.昨日内容回顾
2.模块和模块导入
1.什么是模块,为什么要模块?
py文件就是模块,
把相似的功能放到一个文件,要用的时候 引入就可以直接调用了。
import py文件名,导入模块就是执行他的代码。
2.模块搜索路径sys.path
3.模块的导入:导入模块相当于执行了导入文件代码
1) import 模块名-创建一个独立的属于模块名的命名空间-使用空间中的名字需要借助模块名。
2) from 模块 import xxx
from 模块名 import 名字
from 模块名 import 名字1,名字2,名字3....
from 模块 import 名字 as 别名
知识点:在from...import的时候要不要导入整个my_moudel文件,要
from...import导入的price会和同名的全局变量发生冲突
如果只导入price那么只有price可以被调用,其他的均不能包括模块吗my_moudle
3) 模块导入的注意事项
(1) 在文件在最开始导入
(2)导入顺序:内置模块、扩展模块、自定义模块
(3)不会多次被导入
(4)要循环引用
4.pyc编译文件
在第一次导入模块的时候会被编译,产生一个字节码文件,pyc文件会加快程序的启动效率 但是不会影响执行效率,
如果我的py'文件修改了 pyc文件能感知到。
5.执行脚本和执行模块
if __name__ == ‘__main__’
作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
3.包和包导入
带有__init__文件的文件
导入包就是执行该包下的__init__文件
import 包全路径精确到模块
使用.来描述文件夹之间的层级关系
.的左侧永远必须是个包
.直接精确到模块
#使用导入包的全路径或别名进行调用访问
from import 至少精确到模块,可以精确到模块的名字
# 使用.点来描述文件夹之间的层级关系
.#.点的左侧永远必须是个包
.# 直接精确到模块
# import之后不能带.点
__init__文件做文章:
相对路径
绝对路径
单独导包
软件开发规范:
http://www.cnblogs.com/Eva-J/articles/7292109.html
python全栈开发day18-模块和导入的更多相关文章
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发:模块
模块,用一砣代码实现了某个功能的代码集合. 参考资源:http://www.cnblogs.com/alex3714/articles/5161349.html 类似于函数式编程和面向过程编程,函数式 ...
- python全栈开发_day15_模块学习
一:模块 1)什么是模块 每一个py文件就是一个模块 导入模块,会编译执行 1.形成一个对应的pyc文件 2.产生该模块自己的店全局名称空间 3.在使用该模块的全局名称空间中产生一个名字(导入的模块名 ...
- python全栈开发-logging模块(日记专用)
一.概述 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,l ...
- python全栈开发-常用模块的一些应用
一.random模块详解 1.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 2.常用方法 1. random ...
- python全栈开发-re模块(正则表达式)应用(字符串的处理)
一.概述 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,要讲他的具体用法要讲一本书!它内嵌在Python中,并通过 re 模块实现.你可以为想要匹配的相应字符串集指定规则:该 ...
- python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块
一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...
- python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
python全栈开发笔记第二模块 第四章 :常用模块(第二部分) 一.os 模块的 详解 1.os.getcwd() :得到当前工作目录,即当前python解释器所在目录路径 impor ...
- python全栈开发中级班全程笔记(第二模块、第四章(三、re 正则表达式))
python全栈开发笔记第二模块 第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用 有一个需求 : 从文件中读取所有联 ...
随机推荐
- FlowLayout OnSizeChanged
在FlowLayout里加了20个控件,当窗口变化时,改变这20个控件的宽高,结果发现在直接点最大化时, 计算不正确导致自身的滚动条出不来.把改变大小的代码直接添加Form窗口的onSizeChagn ...
- 键盘按键js效果
<input id="name" type="text" > JS: <script> document.onkeydown = fun ...
- UE4中Bebavior Tree中Delay及其后面代码失效的原因
具体原因是因为节点的执行过程中,该节点及其父节点的Decorator条件不满足,而节点又受到flow control的影响,导致中途强制结束了Task节点的执行,具体如下. UE4中的Behavior ...
- luogu P2480 [SDOI2010]古代猪文
M_sea:这道题你分析完后就是一堆板子 废话 理解完题意后,我们要求的东西是\(G^s(s=\sum_{d|n} \binom{n}{d})\) 但是这个指数\(s\)算出来非常大,,, 我们可以利 ...
- Android BroadcastReceiver解析
目录 示意图 1. 定义 即 广播,是一个全局的监听器,属于Android四大组件之一 Android 广播分为两个角色:广播发送者.广播接收者 2. 作用 监听 / 接收 应用 App 发出的广 ...
- SAX解析XML文档——(二)
SAX从上向下解析,一行一行解析.节省内存,不适合CRUD. XML文档: <?xml version="1.0" encoding="UTF-8"?&g ...
- DataTables 1.10.x与1.9.x参数名对照表
Datatables 1.10.x在命名上与1.9.x的有区别,新版的使用的是驼峰的命名规则,而之前的是采用匈牙利命名规则 当然,这些变化都是向下兼容的,你可以继续使用旧版本的api方法的参数和名称. ...
- (网络编程)socketserver模块服务端实现并发
基于tcp的套接字(实现并发),关键就是两个循环,一个链接循环,一个通信循环 基于udp的套接字(不是正真意义上的并发,实现真并发) socketserver模块中分两大类:server类(解决链接问 ...
- javascript 搞不清原型链和constructor
prototype.constructor仅仅可以用于识别对象是由哪个构造函数初始化的,仅此而已. var one=new Person(‘js’); 要解释这个结果就要仔细研究一下new这个操作符了 ...
- Oracle 数据库逻辑结构
注:本文来源于 <腾科OCP培训课堂>.非准许商业活动. Oracle 数据库逻辑结构 一.存储关系 Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据 ...