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操作列表的常用方法分享
Feb 13 Python
Python语言的12个基础知识点小结
Jul 10 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
详解Python中的文件操作
Aug 28 Python
Python模块文件结构代码详解
Feb 03 Python
python2.7安装图文教程
Mar 13 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
python实现字符串加密成纯数字
Mar 19 Python
python实现飞机大战游戏
Oct 26 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 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 dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
php生成略缩图代码
2012/07/16 PHP
关于php循环跳出的问题
2013/07/01 PHP
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
python中list循环语句用法实例
2014/11/10 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
Django返回json数据用法示例
2016/09/18 Python
python读取excel表格生成erlang数据
2017/08/26 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
全球度假村:Club Med
2017/11/27 全球购物
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
导游实习生自荐书
2014/01/28 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
企业总经理任命书
2014/06/05 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers