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中使用strip()方法删除字符串中空格的教程
May 20 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
Python基本socket通信控制操作示例
Jan 30 Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 Python
django数据模型中null和blank的区别说明
Sep 02 Python
python中如何打包用户自定义模块
Sep 23 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
python基础学习之递归函数知识总结
May 26 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
基于mysql的论坛(7)
2006/10/09 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP编程函数安全篇
2013/01/08 PHP
php里array_work用法实例分析
2015/07/13 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
利用Python破解验证码实例详解
2016/12/08 Python
详解Python中for循环是如何工作的
2017/06/30 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
法雷奥SQA(electric)面试问题
2016/01/23 面试题
幼师自荐信
2013/10/26 职场文书
国培计划培训感言
2014/03/11 职场文书
安全施工标语
2014/06/07 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
死亡赔偿协议书
2015/01/28 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
HttpClient实现表单提交上传文件
2022/08/14 Java/Android