Python
文章平均质量分 66
xia@xia
本博客仅用于日常学习记录
展开
-
内建模块-hashlib、hmac
hashlib模块摘要算法简介python的hashlib提供了常见的摘要算法,如MD5、SHA1等等摘要算法又称为哈希算法、散列算法,它通过一个函数,把任意长度的数据转化为一个长度固定的数据串(通常用16进制的字符串表示),不是加密算法摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人修改过 (digest-文摘)摘要算法之所以能够指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但是通过di原创 2021-05-11 19:52:50 · 175 阅读 · 0 评论 -
内建模块-base64、struct
base64模块base64是一种用64个字符来表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输少量二进制数据。用记事本打开exe、jpg、pdf这些文件时,会看到一大堆乱码,因为二进制文件中包含很多无法显示和打印的字符,所以如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法,Base64是一种最常见的二进制编码方法。base64的原理首先准备一个包含64个字符的数组(A-Z,a-z,0-9,+,-)然后对二进制数据进行处理,每3个原创 2021-05-11 19:51:55 · 295 阅读 · 0 评论 -
内建模块-collections模块
collections是python内建的一个集合模块,提供了很多有用的集合类namedtupletuple可以表示不变集合,但是无法看出这个集合是用来表示什么的namedtuple是一个函数,用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素 (namedtuple-命名元祖)namedtuple可以很方便的定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用很方便>>> from原创 2021-05-11 19:51:18 · 142 阅读 · 0 评论 -
内建模块-datetime模块
datetime是python处理日期和时间的标准库获取当前日期和时间datetime模块下有一个datetime类,该类下的now()方法,会返回当前日志和时间,类型为datetime>>> from datetime import datetime>>> now = datetime.now() # 获取当前datetime>>> print(now)2015-05-18 16:28:07.198690>>>原创 2021-05-11 19:50:39 · 128 阅读 · 0 评论 -
内建模块-itertools
python的内建模块itertools提供了非常有用的用于操作迭代对象的函数 (iter- iteration- 迭代对象 tools- 工具)count()会创建一个无限的迭代器,会一直重复下去,只能按Ctrl+c退出>>> import itertools>>> natuals = itertools.count(1)>>> for n in natuals:... print(n)...123...c.原创 2021-05-11 19:52:15 · 226 阅读 · 0 评论 -
内建模块-contextlib
在python中,读写文件这样的资源,必须在使用完毕后正确关闭他们,正确关闭文件资源的一个方法是使用try: f = open('/path/to/file', 'r') f.read()finally: if f: f.close()写“try…finally”非常繁琐,python的with语句允许我们非常方便的使用资源,而不用担心资源没有关闭with open('/path/to/file', 'r') as f: f.read().原创 2021-05-10 17:29:39 · 7001 阅读 · 0 评论 -
内建模块-urllib、XML、HTMLParser
urlliburllib提供了一系列用于操作URL的功能Geturllib的request模块可以非常方便的抓取url内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应例如,对一个url进行抓取,并返回响应from urllib import requestwith request.urlopen('https://api.douban.com/v2/book/2129650') as f: data = f.read() print('Statu原创 2021-05-10 17:23:18 · 200 阅读 · 1 评论 -
os库
新建目录os.mkdir(log_path)新建文件*删除目录及目录下的所有文件import shutilshutil.rmtree(log_path)如果只想删除目录的文件,不想删除目录,可以执行完以上语句后,再新建目录os.mkdir(log_path)移动目录下的文件import shutilshutil.move(‘原文件夹/原文件名’,‘目标文件夹/目标文件名’)os获取路径print os.path.dirname(file) # 返回当前.原创 2021-05-10 17:15:09 · 101 阅读 · 0 评论 -
logger库
# https://www.cnblogs.com/nancyzhu/p/8551506.htmlimport osimport timeimport loggingPATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p))# 创建 log_pathnow = time.strftime('%Y%m%d%H%M%S') # 返回当前时间log_path = PATH('../log')原创 2021-05-10 17:13:59 · 210 阅读 · 0 评论 -
PyYaml库
https://pypi.org/project/PyYAML/PyYam是python的一个专门针对yaml文件操作的模块安装pip install pyyaml使用:import yamlpy2安装 :pip install yamlpyyaml的方法yaml.load():返回一个对象yaml.load_all():生成一个迭代器yaml.dump():将一个python对象生成yaml文档yaml.dump_all():将多个段输出到一个文件中Yaml文件读取原创 2021-05-10 16:26:12 · 370 阅读 · 0 评论 -
正则表达式
字符精确匹配直接给出字符精确匹配字符类别匹配\d匹配一个数字\w匹配一个字母或者数字.匹配任意字符\s匹配一个空格(包括tab等空白符)字符数量匹配*表示任意个字符(包含0个)+表示至少有一个字符?表示0个或1个字符{n}表示n个字符{n,m}表示n-m个字符注意:数量匹配放到类别匹...原创 2019-08-01 11:47:01 · 247 阅读 · 0 评论 -
python内置函数
文章目录python内置函数abs():绝对值函数divmod():返回除数余数函数input():接收输入值函数open():打开文件函数staticmethod() :返回函数静态方法all() :判断参数是否都是Trueenumerate(): 将可迭代对象组合成索引序列int() :将字符串或数字转化为整型ord():返回参数的ASCLL码或Unicode 数值str() :转化为字符串a...原创 2019-06-20 10:05:05 · 866 阅读 · 0 评论 -
Python高级特性
文章目录切片(slice)迭代(Iteration)列表生成式生成器(generator)迭代器切片(slice)作用:取list、tuple、str的部分元素slice操作符L[开始索引:结束索引:间隔]举例L[0:3] 取前三个元素 同L[:3]L[-2:-1] 取后一个元素 同L[-2:]L[10:20:2]从索引为10开始,每隔两个元素取一个,直到索引为20L...原创 2019-06-03 17:25:02 · 692 阅读 · 0 评论 -
Python函数
文章目录调用函数定义函数自定义函数参数检查函数的变量函数的参数位置参数默认参数可变参数关键字参数命名关键字参数递归函数匿名函数函数就是最基本的一种代码抽象的方式内置函数http://www.runoob.com/python/python-built-in-functions.html调用函数要调用一个函数,需要知道函数的名称和参数可在官网文档:https://docs.python...原创 2019-06-03 16:34:27 · 200 阅读 · 0 评论 -
Python函数式编程(高阶函数)
文章目录函数式编程简介高阶函数简介map/reducefiltersorted函数式编程简介函数是python内建的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂的任务分解成简单的任务,这种分解称为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。函数式编程(functional programming),也可以归到面向过程的程序设计,但思想更接近于数学...原创 2019-06-06 14:15:46 · 421 阅读 · 0 评论 -
Python函数式编程
文章目录返回函数匿名函数装饰器偏函数返回函数高阶函数除了接受函数作为参数外,还可以把函数作为结果返回调用把函数作为返回值的函数时,每次都会返回一个新的函数(即使传入的数据相同)调用时返回的是函数,不是结果再次调用返回的函数才返回结果闭包内部函数可以引用外部函数的参数和局部变量,当外部函数返回内部函数时,相关参数和变量都保存在返回的函数中,称为闭包(closure)返回的函...原创 2019-06-06 15:15:07 · 367 阅读 · 0 评论 -
Python模块
文章目录模块使用模块安装第三方模块模块一个.py文件就是一个模块使用模块的优点提高代码的可维护性编写代码不必从0开始,一个模块编写完毕可以被其他模块引用使用模块可以避免函数名和变量名冲突,相同名称的可以存放在不同的模块中(不要和内置函数重名)https://docs.python.org/3/library/functions.html python内置函数避免模块重名,p...原创 2019-06-06 15:23:12 · 164 阅读 · 0 评论 -
Python面向对象编程
文章目录面向对象编程类和实例访问限制继承和多态获取对象信息实例属性和类属性面向对象编程面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系...原创 2019-06-06 15:39:51 · 323 阅读 · 0 评论 -
Python面向对象高阶编程
文章目录使用__slots__使用@property多重继承定制类使用枚举类使用元类使用__slots__给实例绑定的方法,对其他实例不生效,只有给类绑定的方法,才对所有实例生效类的方法可以直接定义在class中,但动态绑定允许我们在程序运行的过程中动态给class加上功能__slots__变量,可以限制class实例能添加的属性class Student(object):__sl...原创 2019-06-06 15:50:43 · 259 阅读 · 0 评论 -
Python错误、调试和测试
文章目录错误处理调试单元测试文档测试错误处理在程序运行过程中,如果发生了错误,可以实现约定返回一个错误代码,这样就可以知道是否有错、以及出错的原因。try。。。except。。。finally。。。的错误处理机制当我们认为某些代码可能会出错时,可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果...原创 2019-06-06 15:57:26 · 461 阅读 · 0 评论 -
Pyton IO编程
文章目录IO编程简介文件读写StringIO和BytestIO操作文件和目录序列化IO编程简介IO指input/output,也就是输入和输出同步IO:同步,等第一件事情干完再干其他事情异步IO:异步,当第一件事情需要等待时,一边等待一边干另一件事文件读写详见http://www.runoob.com/python/python-files-io.html读写文件是最常见的IO...原创 2019-06-06 16:09:34 · 430 阅读 · 0 评论 -
Python基础
文章目录基础字符串和编码条件判断循环基础Python交互模式进入方式在命令行下输入python–退出回到命令行模式在开始菜单选择Python (command line)–退出直接关闭提示符标志>>>退出方式输入exit()python文件执行只能在命令行模式当前文件目录下执行命令python 文件名.py直接运行py文件Mac和Linux...原创 2019-06-03 11:41:03 · 183 阅读 · 0 评论 -
Python数据类型
文章目录数据类型和变量Python数据类型转换数据类型和变量简介以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块(4个空格的缩进)Python程序是大小写敏感的字符串字符串内部含有’’ ""的时候,可以使用转移符标识‘I’m “OK”!’ I’m “OK”!python允...原创 2019-06-03 14:49:08 · 438 阅读 · 0 评论 -
Python的list/tuple、set/dict
文章目录list和tuplelist列表tuple元组dict和setdict字典set组list和tuple详见http://www.runoob.com/python/python-lists.htmllist和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用list列表简介列表是python内置的一种数据类型可以随时添加和删除其中的元素li...原创 2019-06-03 15:03:40 · 485 阅读 · 0 评论 -
python函数总结
文章目录listdictset函数的参数其他高阶函数其他IO编程listlist增删改查L.append(值) #追加元素到末尾L.insert(位置,值) #插入元素到指定位置L.pop() #删除末尾元素L.pop(位置) #删除指定位置的元素L[位置] = 值 #替换指定位置的值list连接list3 = list1 + list2 #两个list相加,赋值给另一个新...原创 2019-05-13 16:28:24 · 247 阅读 · 0 评论