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模块的详细参数

   os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

   os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: (‘.‘)

   os.pardir 获取当前目录的父目录字符串名:(‘..‘)

   os.makedirs(‘dirname1/dirname2‘) 可生成多层递归目录

   os.removedirs(‘dirname1‘) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推    

   os.mkdir(‘dirname‘) 生成单级目录;相当于shell中mkdir dirname

   os.rmdir(‘dirname‘) 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname      

   os.listdir(‘dirname‘) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

   os.remove() 删除一个文件 os.rename("oldname","newname") 重命名文件/目录

   os.stat(‘path/filename‘) 获取文件/目录信息 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

   os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

   os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:

   os.name 输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘

   os.system("bash command") 运行shell命令,直接显示

   os.environ 获取系统环境变量

   os.path.abspath(path) 返回path规范化的绝对路径

   os.path.split(path) 将path分割成目录和文件名二元组返回

   os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素                             

   os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即      

   os.path.split(path)的第二个元素 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

   os.path.isabs(path) 如果path是绝对路径,返回True os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False   

   os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False     

   os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

   os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

  os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

  os.path.getsize(path) 返回path的大小

  

    

时间: 2024-08-13 14:54:35

python基础11 ---函数模块1的相关文章

python基础14 ---函数模块5(模块和包)

模块与包 一.模块 1.模块是怎么诞生的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到 不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 2.模块的作用. 提高了代码的可维护性.其次是编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,

python基础13 ---函数模块3(正则表达式)

正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 2.正则表达式简介 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分 强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的

python基础13 ---函数模块4(configparser模块)

configparser模块 一.configparser模块 1.什么是configparser模块:configparser模块操作配置文件,配置文件的格式与windows ini和linux的cf文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值),其配置文件(INI文件)由节(section).键.值组成. 2.configparser模块简介. ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号"[ ]"内包含的为sect

python基础31[常用模块介绍]

python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从

python基础及函数1

Python的程序执行方式:Python的程序编辑窗口.Python的解释器提示符. python常量:整形.实型(浮点型).字符串型. Python数据类型:数值类型.字符串类型.布尔类型.复合数据类型 数值类型:整型(0b/0B.0o/0O.0x/0X).浮点型(e/E).复数型 字符串类型:Python标准字符.转义字符.基本字符串函数 布尔类型:true.false 复合数据类型:列表.元组.字典.集合 Python3提供的有效数字精度:17位 字符串分片: >>>str1=&q

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

Python基础07 函数

Python基础07 函数 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能. def square_sum(a,b): c = a**2 + b**2 return c 这个函数的功能是求两个数的平方和. 首先

python基础——匿名函数及递归函数

python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x表示函数参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. 2 匿名函数举例 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突.此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: >>> f = lam

Python自动化开发课堂笔记【Day04】 - Python基础(函数补充,模块,包)

表达式形式的yield yield的语句形式: yield 1yield的表达式形式: x=yield 1 x=yield 2 g.send('1111') #先把1111传给yield,由yield赋值给x,然后再往下执行,直到再次碰到yield,然后把yield后的返回值返回 协程函数示例 1 def gen(func): 2 def wrapper(*args,**kwargs): 3 res = func(*args,**kwargs) 4 next(res) #相当于next(g)或者