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处理文本文件实现生成指定格式文件的方法
Jul 31 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python中的pack和unpack的使用
Mar 12 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
python性能测量工具cProfile使用解析
Sep 26 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
信号生成及DFT的python实现方式
Feb 25 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 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 MSSQL 存储过程的方法
2008/12/24 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python实现多线程抓取妹子图
2015/08/08 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
python几种常用功能实现代码实例
2019/12/25 Python
python 爬取疫情数据的源码
2020/02/09 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
Delphi CS笔试题
2014/01/04 面试题
打架检讨书500字
2014/01/29 职场文书
2014年作风建设工作总结
2014/10/29 职场文书
人事文员岗位职责
2015/02/04 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书