Python模块相关知识点小结


Posted in Python onMarch 09, 2020

本文实例讲述了Python模块相关知识点。分享给大家供大家参考,具体如下:

1.模块

定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test)。

:用来从逻辑上组织模块的,本质就是文件夹(目录),必须带有一个__init__.py文件。

导入包的本质就是解释这个包下面的__init__.py文件。

在某个模块下需要导入某一个包下面的内容,需要在包下面的__init__.py文件中修改导入方式,语法为:from . import module_name   #.表示当前路径下

模块导入方法

Import module_name(模块名)===>>实质导出的是模块名称 name.test()

Import module_name,m1,m2

from module(模块) import * (函数)===>实质是把代码复制到当前位置(不建议 )

from module import module_name,m1,m2 

from module import module_name  as modele_name_from_wfb (as取别名)

import本质(路径搜索和搜索路径):

(1)Import  module_name   ===》把导入的模块的全部代码统一解释一遍,然后赋值给module_name这个变量,例如:module_name=”modele_name.py all code"。【module_name.name】

Import module_name---->执行module_name.py---->module_name.py的路径---sys.path

(2)from  module  import  module_name ==》把module 模块中的module_name部分放到当前文件执行一遍。【name()】

总结:导入模块的本质就是把python文件解释一遍。

2.导入不在同一目录下的文件或者包:

由于导入模块或包的实质是在系统的环境变量(路径)下寻找所导入的文件或者是否存在,存在即可正确执行,否则则需要将文件或者包的绝对路径动态加入到系统的环境变量中。使用sys,os模块

Import sys,os
lujin=os.path.dirname(os.path.abspath(__file__))

 
Sys.path.append(lujin)

目的是:在当前文件中获得指定文件或包的路径(父级目录)。

解释:

os.path.abspath(__file__) 获取当前文件的绝对路径

os.path.dirname:获取当前文件的父级目录。

Sys.path.append(lujin):将所获取的路径加入到系统环境变量中。

3.导入优化

(1)  Import  module_name   

module_name.name()。。

实质:先找模块,在找该模块下的方法.【查找多了效率不高。】

(2)  from module_name import name

name() 。。

实质:把模块中的方法拿到指定位置执行一遍。相比import少了多次查找的过程.

4.模块分类

a.标准库(内置)

1. time 和datetime.  

   gmtime():获取标准时间(0时区)

  localtime():获取本地时间(东八区)

  time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())  # %Y对应tm_year  %m对应tm.mon

Python模块相关知识点小结

Python模块相关知识点小结

 

 5.json和pickle模块

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

.json和pickle模块只建议dumps和loads一次,否则需要根据之前的顺序依次取出来很麻烦,dumps序列化为字符串。

  6. shelve模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式,【可理解为可以实现多次的dumps和、loads】

使用=》

import shelve

d = shelve.open('shelve_test') #打开一个文件

存:d[“key”]=value

取:d,get(“key”)    

加密模块

hashlib模块

对中/英文的加密:

import hashlib

m=hashlib.md5()

m.update(b"Hello")

m.update("It's me 你好".encode(encoding='utf-8'))

对信息的加密:

import hmac

m=hmac.new(b'天王盖地虎', '宝塔镇河妖'.encode(encoding='utf-8')

b'天王盖地虎':必须是bytes类型

'宝塔镇河妖'.encode(encoding='utf-8':对含有中文的需要进行编码(encode)成二进制。主要是有无b的区别。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python抢过年的火车票附源码
Dec 07 Python
python+opencv实现动态物体识别
Jan 09 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
python实现梯度法 python最速下降法
Mar 24 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
python爬虫基础知识点整理
Jun 02 Python
Python自带的IDE在哪里
Jul 01 Python
pycharm如何设置官方中文(如何汉化)
Dec 29 Python
Django操作session 的方法
Mar 09 #Python
Python装饰器用法与知识点小结
Mar 09 #Python
Django中的session用法详解
Mar 09 #Python
python实现引用其他路径包里面的模块
Mar 09 #Python
python+opencv边缘提取与各函数参数解析
Mar 09 #Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 #Python
Pycharm+Python工程,引用子模块的实现
Mar 09 #Python
You might like
php桌面中心(二) 数据库写入
2007/03/11 PHP
php生成html文件方法总结
2014/12/01 PHP
javascript 函数速查表
2010/02/07 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
数组Array的一些方法(总结)
2017/02/17 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
vue2路由基本用法实例分析
2020/03/06 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
python算法表示概念扫盲教程
2017/04/13 Python
详解python eval函数的妙用
2017/11/16 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
Python中Selenium模块的使用详解
2020/10/09 Python
家长给老师的道歉信
2014/01/13 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
副厂长岗位职责
2014/02/02 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
服务明星事迹材料
2014/12/29 职场文书
向女朋友道歉的话
2015/01/20 职场文书
公司员工手册范本
2015/05/14 职场文书
红色经典电影观后感
2015/06/18 职场文书
导游词之河北邯郸
2019/09/12 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python
排查MySQL生产环境索引没有效果
2022/04/11 MySQL