随笔分类 - Python
摘要:海燕 hashlib提供了常见的摘要算法,如md5和sha1等等。那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化)应涂:1.做文
阅读全文
摘要:海燕 字符组 字符 量词 .^$ *+?{} 贪婪匹配 字符集 分组()与或|[^]: (1)^[1-9]\d{13,16}[0-9x]$ #^以数字0-9开始, \d{13,16}重复13次到16次 $结束标志 上面的表达式可以匹配一个正确的身份证号码 (2)^[1-9]\d{14}(\d{2}[
阅读全文
摘要:海燕 一、time模块 import time # 时间分为三种形式 #1、时间戳 print(time.time()) start_time=time.time() time.sleep(3) stop_time=time.time() print(stop_time-start_time) ''
阅读全文
摘要:一、序列化与反序列化 import json dic={'k1':'v1','k2':'v2','k3':'v3'} print(type(dic)) # 序列化:内存中的数据结构 》转成一种中间格式(字符串) 》存到文件中 #dumps str_dic = json.dumps(dic) #将字典
阅读全文
摘要:示例: #1、列表生成式 l=[] for i in range(6): l.append('egg%s' %i) print(l) ''' ['egg0', 'egg1', 'egg2', 'egg3', 'egg4', 'egg5'] ''' l=['egg%s' %i for i in ran
阅读全文
摘要:一、三元表达式 应用于: 1、条件成立返回 一个值 2、条件不成立返回 一个值 示例: x=12 y=11 res=x if x > y else y print(res) ''' 12 ''' def max2(x,y): return x if x > y else y print(max2(1
阅读全文
摘要:一、迭代器 1、什么是迭代?迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 2、要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象?可迭代的对象:在python中,但凡内置有__iter__方法的对象,都是可迭代的对象字符串,列表,元组,集合,字典都是可迭代的 #以下都是
阅读全文
摘要:一、 闭包函数 #闭:指的是定义在函数内部的函数 #!!!作用域关系 在函数定义阶段就规定死了,与调用位置无关 def outter(): x=2 def inner(): x=1 print('from inner',x) return inner f=outter() #f=inner prin
阅读全文
摘要:参考 一、什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法
阅读全文
摘要:参考 参考2 一、hashlib 摘要算法 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 # sha算法:随着算法复杂程度的增
阅读全文
摘要:""" 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m[k+2] = v+2 m = {1: 2, 3: 4} l = m # 浅拷贝 l[9] = 10 # func(l) m[7] = 8 print("l:"
阅读全文
摘要:1、基于tcp 服务端: import socketserver # 通信循环 class MytcpHandler(socketserver.BaseRequestHandler): def handle(self): while True: try: data = self.request.re
阅读全文
摘要:目标:让服务端能够支持高并发+高性能一、 操作系统发展史 多道技术(*****) 产生背景:想要在单核下实现并发 多道技术的核心: 1、空间上的复用(具体指的是内存中同时读入多道程序,多道程序的内存空间是物理隔离) 2、时间上的复用(复用cpu的时间) 切换+保存状态=》并发 切换: 1、遇到IO切
阅读全文
摘要:服务端: import socket server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) server.bind(('127.0.0.1',8080)) while True: res,client_addr=server.recvfrom(
阅读全文
摘要:1、C/S B/S架构(*****) c:client s:server b:browser 学习目标:开放一个客户端软件和服务端软件,两者基于网络通信 2、什么是网络?(*****) 1、物理连接介质 2、互联网协议(计算机界的英语) 3、OSI七层协议(**) C/S B/S 应(应、表、会):
阅读全文
摘要:1、property property是一种特殊的属性,可实现把函数名变为属性名使用。它可以在不改变类接口的前提下使用存取方法 (即读值和取值) 来修改数据的属性,property类有3个方法getter(读操作)、setter(赋值操作)、deleter(删除操作),分别把对应的操作 绑定到指定的
阅读全文
摘要:1、IO介绍 对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: #1)等待数据准备 (Waiting for the da
阅读全文
摘要:要解决粘包问题: TCP:流式协议 特点: 1、数据流没有开头也没有结果,像水流一样 2、TCP协议有一个nagle算法, nagle算法会将数据量较小,并且时间间隔较短的数据合成一条数据发送, 这么做可以减少网络IO次数,进而提升传输效率 1.struct模块 #1、把整型数字转成bytes类型
阅读全文
摘要:1、Greenlet greenlet可以实现两个任务之间的来回切换,但遇到IO会阻塞,不会切(使用这个模块之前需要在电脑命令提示符中输入 pip3 install greenlet 进行安装) 例如: 打印结果: egon eat 1alex play 1egon eat 2alex play 2
阅读全文