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全栈开发笔记第二模块 第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用 有一个需求 : 从文件中读取所有联 ...
随机推荐
- 〖C语言学习笔记 〗(二) 数据类型
前言 本文为c语言的学习笔记,很多只是留下来占位的 数据类型 助记:变量就是在内存中挖个坑并给这个坑命名,而数据类型就是挖内存的坑的尺寸 基础类型 整数类型: short int int long i ...
- 微信开发创业交流QQ群列表
方倍工作室参与或主导的微信相关的QQ社群列表,欢迎对照加入. QQ群号 群名称 说明 推荐 518924126 微信平台开发有问必答 知识付费 ★★★★★ 188280503 微信公众平台开发最佳实 ...
- angularjs指令中scope参数 true、false、{} 的区别详解
scope 有三个参数 true.false.{} scope 默认是 false,当 scope设置为true时,会从父作用域继承并创建一个新的作用域对象, 按照true .false的反向思维,我 ...
- android AsyncHttpClient使用
1.www.github.com下载jar包 loopj/android-async-http 将下载好的文件导入项目中 2.main.xml <?xml version="1.0&q ...
- MacOs -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
1解决iterm远程登录主机报错 -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or ...
- <video>标签:视频播放器动态设置src
HTML代码 <div id="my_div"> <video id="my_video" width="600" ...
- split('\r\n')
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来. 实际我的脚本读取FTP的列表,如果用的split("\r\n"),可以获得正 ...
- retrofit 使用解析
retrofit 基础入门:https://www.jianshu.com/p/b64a2de066c3 retrofit 使用详解:https://blog.csdn.net/carson_ho/a ...
- LOJ 3043: 洛谷 P5280: 「ZJOI2019」线段树
题目传送门:LOJ #3043. 题意简述: 你需要模拟线段树的懒标记过程. 初始时有一棵什么标记都没有的 \(n\) 阶线段树. 每次修改会把当前所有的线段树复制一份,然后对于这些线段树实行一次区间 ...
- Ubuntu16.04+CUDA8.0+cudnn6
按之前的方法给TITAN X安装cuda8.0会发生循环登录的问题,因此换了一种安装方法 参考:https://www.jianshu.com/p/002ece426793,http://blog.c ...