python基础11 ---函数模块1
函数模块
一、函数模块的作用(为什么要有函数模块)
1、函数模块可以减少代码量
2、函数模块方便阅读
  3、函数模块维护性强
二、函数模块的本质以及调用方法
1、函数模块的本质就是一个.py结尾的文件,该文件内写入大量函数
2、必须用import来引用函数模块,在调用函数模块时必须以"模块名.函数名"来调用函数模块中的函数。
  3、有的时候我们只需要用到模块中的某个函数,也可以用“from 模块名 improt 函数1,函数2”的方式来引用该模块,但只是一次引用,不建议使用。
三、函数模块的分类
1、内置函数模块:系统自带的函数模块,我们只管调用它就可以了,在python环境里是看不到内置模块的,是在python解释器里面写好了的。
2、第三方函数模块:系统中自带了些别人写好的模块,称为第三方模块,该模块储存的路径在python软件安装路径的Lib下面(储存在系统环境里)。
3、自定义模块:自己定义的模块
4、import导入模块时的加载顺序:先从python解释器中查找,再从系统环境(Lib)中查找,最后在自定义的路径下查找。
四、time内置模块详解
1、time内置模块
1.1时间的表达形式
在python中时间的表达形式有三种,分别为时间戳,结构化时间(struct_time),和格式化的时间字符串。
时间戳:从1970年一月一号的零点零分零秒开始按秒计算的偏移量,其返回的值是个float类型。
结构化时间:struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
字符串字符串:如'1998-10-10'(分隔符格式可以自己自由定义)
1.2总结:时间戳是计算机能够识别的时间,格式化的时间字符串是人能够识别的时间,结构化时间是用来操作时间的。
2、三种时间表达形式上的相互转换(如图)
 

1.1 字符串时间和时间戳之间是不能相互转换的。
1.2 time.localtime结构化时间的对象是北京标准时间,而time.gmtime结构化时间的对象是国际标准时间
五、random模块详解
1、python中的random模块用于随机产生一个任意数字
2、random.random
random.random()用于随机生成一个0到1.0的浮点数。
3、random.randint
random.randint(x,y)用于随机生成一个整数,大于等于x小于等于y的整数,并且x必须大于y.(顾头又顾尾)
4、random.randrange
random.randrange(x,y)用于随机生成一个整数,大于等于x小于y的整数,并且x必须大于y.(顾头不顾尾)
5、random.choice
random.choice(序列x)是从序列中随机获取一个元素,返回的结果是个整数型。序列x表示的是个有序序列。
random.choices(序列y)是从序列中随机获取一个元素,返回的结果是个list型。序列y表示的是个有序序列。
6、random.sample
random.sample(sequence, k)从指定序列中随机获取k个元素,返回的结果是列表。sample函数不会修改原有序列sequence,。
7、random.uniform
random.uniform(x,y)用于随机生成一个大于x小于y的浮点数,且x可以大于y也可小于y。
8、random.shuffle
random.shuffle(x)用于将一个列表的元素打乱,改变了列表x的元素位置。
六、hashlib
1、hashlib的作用:hashlib是个专门提供hash算法的库(摘要算法),现在里面包括md5, sha1, sha224, sha256, sha384, sha512。
2、摘要算法:摘要算法又称哈希算法,散列算法。他通过一个函数吧任意长度的数据转化成(对应)一个固定长度的数据串(通常用16进制的字符串表示)
3、hashlib的执行方式
hashlib.md5().update(b'x') 其中x为加密对象,加密完成。(如果加密对象很大可以调用多次update,加密后的结果是一样的)
    hashlib.md5().hexdigest() 查看加密后的结果(32位的16进制字符串)
4、md5的加盐操作
4.1 为何加盐:由于加密对象和计算出的md5值是一一对应的关系,通过撞库的方式就可以破解用户密码,所以要对加密对象进行加盐操 作。
4.2 加盐方法:对原始字符串前加入一串数据,然后进行MD5加密
其格式为:hashlib.md5('salt',encod(utf-8))
5、如果两个用户的加密对象相同,加盐一致,得到的MD5值也是一样的,解决办法是通通过把登录名作为Salt的一部分来计算MD5,从而实 现相同口令的用户也存储不同的MD5。(前提是用户名不一致)
注:SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。比SHA1更安全的算法是SHA256和SHA512,不过越安全的算法越 慢,而且摘要长度更长.摘要算法在很多地方都有广泛的应用。要注意摘要算法不是加密算法,不能用于加密(因为无法通过摘要反推明文),只 能用于防篡改,但是它的单向计算特性决定了可以在不存储明文口令的情况下验证用户口令。
七、os模块详解
1、os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平台指定的,os 模块能在不同操作系统平台如 nt 或 posix中的特定函数间自动切换,从而能实现跨平台操作。(OS模块是Python标准库中的一个用于访问操作系统功能的模块)
2、os模块的详细参数
1.os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
2.os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.')
3.os.pardir 获取当前目录的父目录字符串名:('..')
4.os.makedirs('dirname1/dirname2') 可生成多层递归目录
5.os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
6.os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
7.os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
8.os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印出来,不区分文件和文件夹。
9.os.remove(x) 删除一个文件其中x指的是文件的绝对路径
10.os.name 判断当前使用的是什么平台。win->'nt'; Linux->'posix'
11.os.system("bash command") 运行shell命令,直接显示
12.os.environ 获取系统环境变量
13.os.path.abspath(path) 返回path规范化的绝对路径
14.os.path.split(path) 将path分割成目录和文件名二元组返回
15.os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
16.os.rename("oldname","newname") 重命名文件/目录
17.os.path.isabs(path) 如果path是绝对路径,返回True os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
18.os.path.isdir(path) 如果path是一个存在的目录,则返回True,否则返回False
19.os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
20.os.path.getatime(path) 返回最近一次进入path的时间.a即access,跟linux里边的atime是一样的
21.os.path.getmtime(path) 返回这个path最后一次修改的时间。
22.os.path.getctime(path) 返回path所指向的文件或者目录创建时间
23.os.path.getsize(path) 返回path的大小
python基础11 ---函数模块1的更多相关文章
- python基础(11)-常用模块
		re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ... 
- python基础14 ---函数模块5(模块和包)
		模块与包 一.模块 1.模块是怎么诞生的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到 不同的文 ... 
- python基础12 ---函数模块2
		函数模块 一.sys函数模块详解 1.sys.argv[x] 功能:从程序外部接受参数,接收的参数个数可以是多个,在程序内部sys.argv吧这些外部参数转换成元组的形式,然后以索引x的方式在内部取出 ... 
- python基础13 ---函数模块3(正则表达式)
		正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的 ... 
- python基础——11(模块初识)
		一.函数回调 # 提前写出函数的调用,再去考虑函数体的实现 # 怎么样提前写出函数的调用:在另一个函数中写出函数的调用 # 再去考虑函数体的实现:根据实际的需求 # 自定义一个sleep def my ... 
- python基础(11):函数(一)
		1. 什么是函数 1.我们到⽬前为⽌,已经可以完成⼀些软件的基础功能了.那么我们来完成这样⼀个功能: 约会: print("拿出⼿机") print("打开陌陌" ... 
- python基础14 ---函数模块4(configparser模块)
		configparser模块 一.configparser模块 1.什么是configparser模块:configparser模块操作配置文件,配置文件的格式与windows ini和linux的c ... 
- python基础——filter函数
		python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ... 
- 十八. Python基础(18)常用模块
		十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ... 
随机推荐
- ”ftp使用dos命令“
			ftp不能使用dos命令,ftp有专用的命令. 在批处理文件中,如果用到dos命令获取信息(比如:系统日期),将用获取的信息,输出到ftp脚本文件中,然后执行ftp脚本文件. set yyyy=%DA ... 
- 基于RxJava2+Retrofit2精心打造的Android基础框架
			代码地址如下:http://www.demodashi.com/demo/12132.html XSnow 基于RxJava2+Retrofit2精心打造的Android基础框架,包含网络.上传.下载 ... 
- kvo&kvc
			Key Value Coding Key Value Coding是cocoa的一个标准组成部分,它能让我们可以通过name(key)的方式访问property, 不必调用明确的property ac ... 
- js正则表达式的分组提取
- elasticsearch 单节点实现
			一.安装java环境,这么不说了,一般用源码安装,配置好环境变量 二.新建es用户和组,es不能用root启动 三.下载需要的稳定版es 四.解压安装es .zip /opt/app/ es / 五. ... 
- php数组操作,内容相同,键值不同,互换
			$title = array("A"=>"创建时间","C"=>"商品信息","D"=& ... 
- awk.sed.grep三剑客详解
			事前准备1.主机node1:172.16.133.112.作为实验的文件/etc/passwd /etc/fstab qinqin cp /etc/passwd . cp /etc/fstab . 一 ... 
- Monkey源代码分析之事件源
			上一篇文章<Monkey源代码分析之执行流程>给出了monkey执行的整个流程.让我们有一个概貌,那么往后的文章我们会尝试进一步的阐述相关的一些知识点. 这里先把整个monkey类的结构图 ... 
- centos中git使用
			先用root用户登录, yum install git 进行安装,然后退出用普通用户登录. ssh-keygen -t rsa -C "tuhooo@163.com" 登录GitH ... 
- JWT简介json web token  bear token
			, "exp": 1502360328,(相差3600s) "nbf": , "jti": "R0Gd00AvOW259LGo&q ... 
