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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
以一段代码为实例快速入门Python2.7
Mar 31 Python
python访问系统环境变量的方法
Apr 29 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Python3中的json模块使用详解
May 05 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 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开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
理解javascript中的闭包
2017/01/11 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
Python的print用法示例
2014/02/11 Python
Python学习笔记(二)基础语法
2014/06/06 Python
详解python中的线程
2018/02/10 Python
Python中安装easy_install的方法
2018/11/18 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
介绍Java的内部类
2012/10/27 面试题
一道写SQL的面试题和答案
2013/11/19 面试题
生日派对邀请函
2014/01/13 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
就业推荐表院系意见
2015/06/05 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android