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实现简单的文件传输与MySQL备份的脚本分享
Jan 03 Python
python脚本监控docker容器
Apr 27 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
Python错误处理操作示例
Jul 18 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
python多任务及返回值的处理方法
Jan 22 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
python中的 zip函数详解及用法举例
Feb 16 Python
python 如何快速复制序列
Sep 07 Python
Python类class参数self原理解析
Nov 19 Python
Python Pandas知识点之缺失值处理详解
May 11 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结合飞信 免费天气预报短信
2009/05/07 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
php实现的RSS生成类实例
2015/04/23 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
如何获得EntityManager
2014/02/09 面试题
网络技术专业求职信
2014/02/18 职场文书
个人投资合作协议书
2014/10/12 职场文书
2014年创卫工作总结
2014/11/24 职场文书
晚会开幕词
2015/01/28 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
董事长开业致辞
2015/07/29 职场文书
体育教师研修感悟
2015/11/18 职场文书
python内置模块之上下文管理contextlib
2022/06/14 Python