-
python:进程池
所属栏目:[Python] 日期:2020-12-17 热度:126
1,进程可以无限开吗? 进程不可以无限开,cpu有十六核,代表可以同时处理16个任务,如果有160个进程,每个进程 处理需要0.01s,16核的处理器处理160个进程就需要0.5s,因为进程越多需要的时间越多。 2,进程池 multiprocessing multiprocessing += 1 == = P[详细]
-
python:线程
所属栏目:[Python] 日期:2020-12-17 热度:79
h1 style="text-align: center"线程 1,线程与进程 2,线程是CPU调度的最小单位。进程是资源分配的最小单位 3,开启线程的时空开销 都比 开启进程要小,且cpu在线程之间切换比在进程之间切换快。 4,一个程序中 可以同时有多进程和线程 1)调用模块开启线程[详细]
-
python:验证客户端链接的合法性与socketserver
所属栏目:[Python] 日期:2020-12-17 热度:58
一、验证客户端链接的合法性 socket * secret_key=b ( msg=os.urandom(32 h= digest= respone= data_handler(conn,bufsize=1024 ( ( data= data: server_handler(ip_port,bufsize,backlog=5 tcp_socket_server= conn,addr= ( %(addr[0],addr[1 == ip_port=([详细]
-
python:进程
所属栏目:[Python] 日期:2020-12-17 热度:90
一、操作系统的发展 1,计算机诞生的初期是没有操作系统 ,程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果[详细]
-
python:进程操作
所属栏目:[Python] 日期:2020-12-17 热度:90
一、多进程应用 multiprocessing span style="color: #0000ff"def span style="color: #000000" talk(conn): conn.send(b span style="color: #800000"' span style="color: #800000"connected span style="color: #800000"' span style="color: #000000") r[详细]
-
黏包问题的成因与解决方案
所属栏目:[Python] 日期:2020-12-17 热度:159
一、黏包成因 tcp协议的拆包机制 面向流的通信特点和Nagle算法 总结: 黏包有两种: 二、黏包的解决方案 1,问题的根源在于,接收端不知道发送端将要传送的字节流的长度,所以解决粘包的方法就是围绕,如何让发送端在发送数据前,把自己将要发送的字节流总大[详细]
-
python:面向对象进阶
所属栏目:[Python] 日期:2020-12-17 热度:190
1,反射 反射:使用字符串类型的名字去操作变量 反射就没有安全问题,去操作内存中已经存在的变量 ? #反射对象中的属性和方法? =20 (getattr(A, )) #反射对象的属性 ( = = ret =getattr(a,span style="color: #800000"' span style="color: #800000"name spa[详细]
-
python:常用模块二
所属栏目:[Python] 日期:2020-12-17 热度:95
1,hashlib模块---摘要算法 md5 =span style="color: #000000" hashlib.md5() md5.update( span style="color: #800000"' span style="color: #800000"how to use md5 in python hashlib? span style="color: #800000"' span style="color: #000000") span st[详细]
-
python:类的基本特征------继承、多态与封装
所属栏目:[Python] 日期:2020-12-17 热度:167
h2 style="text-align: left" 一、继承 1,什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类python中类的继承分为:单继承和多继承 ParentClass1: span style="color:[详细]
-
Python:文件操作
所属栏目:[Python] 日期:2020-12-17 热度:119
h1 style="text-align: left"文件操作 1,文件路径:d:xxxx.txt ? ? 绝对路径:从根目录到最后 ? ? 相对路径:当前目录下的文件 2,编码方式:utf-8 3,操作方式:只读,只写,追加,读写,写读...... (1)只读--r f =open( ,mode= ,encoding= = 以什么编[详细]
-
python:包与异常处理
所属栏目:[Python] 日期:2020-12-17 热度:135
一、包 1,什么是包? 把解决一类问题的模块放在同一个文件夹里-----包? 2,包是一种通过使用‘.模块名’来组织python模块名称空间的方式。 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警[详细]
-
python:面向对象
所属栏目:[Python] 日期:2020-12-17 热度:178
1,面向对象与面向过程 1) 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以[详细]
-
python:类与对象命名空间、面对对象的组合用法
所属栏目:[Python] 日期:2020-12-17 热度:107
1,类里可以定义两种属性: #静态属性 #静态属性就是直接在类中定义的变量 #动态属性 #动态属性就是定义在类中的方法 = [ ] (self,teacher,course_name,period,price): self.teacher = = = = 其中类的数据属性是共享给所有对象的 >>> 4341594072>>> 43415940[详细]
-
python:序列与模块
所属栏目:[Python] 日期:2020-12-17 热度:82
一,序列化模块 什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做 序列化 。 序列化的目的 ; 1,json模块 Json模块提供了四个功能:dumps、dump、loads、load 1)dumps和loads dic = {1: ,2: = json.dumps(dic) dic_d = json.loads(st[详细]
-
python:常用模块一
所属栏目:[Python] 日期:2020-12-17 热度:188
一、collections模块 collections = namedtuple ( ,[ , =point(1,2 (p) 2,deque: 双端队列,可以快速的从另外一侧追加和推出对象 = 10) q.put(5 6 双端队列: >>> from collections import deque>>> q = deque(['a','b','c'])>>> q.append('x')>>> q.append[详细]
-
python:正则模块
所属栏目:[Python] 日期:2020-12-17 热度:179
1,正则表达式 正则表达式是用来做字符串的匹配的,正则有他自己的规则,和python没有关系,一种匹配字符串的规则。 2,字符组 ,那么这个位置上的字符只能是0、1、2...9这10个数之一。3,检索输入的手机号是否合法 = input( len(phone_number) == 11 (phone_[详细]
-
python:递归函数
所属栏目:[Python] 日期:2020-12-17 热度:110
1,初识递归函数 1)什么是递归函数? 在函数中自己调用自己叫做递归函数 递归函数超过一定程度会报错。---RecursionError: maximum recursion dep th exceeded while calling a Python object。递归的错误,超过了递归函数的最大深度。 2)最大递归深度:默[详细]
-
python:内置函数
所属栏目:[Python] 日期:2020-12-17 热度:160
1,作用域相关 1)locals()---------获取执行本方法所在命名空间内的局部变量的字典 #返回本地作用域中的所有名字 2)globals()——获取全局变量的字典 #返回全局作用域中的所有名字 2,字符串类型的代码执行 eval()?将字符串类型的代码执行并返回结果 (eval([详细]
-
python:部分内置函数与匿名函数
所属栏目:[Python] 日期:2020-12-17 热度:116
一、内置函数 1,数据类型:int,bool .......... 2,数据结构:dict,list,tuple,set,str? 3,reversed--保留原列表,返回一个反序的迭代器? =[1,2,3,4,5 = (l2) 4,slice切片? l =(1,23,213,5612,234,43 =slice(1,5,2 (l[sli]) #(2,213) 5,format? (format([详细]
-
python:装饰器
所属栏目:[Python] 日期:2020-12-17 热度:61
1,time模块 (time.sleep()) ( ) 获取当前时间 一个函数的执行时间: = ( 0.01 = (end- ?装饰器 span style="color: #0000ff"def span style="color: #000000" func(): time.sleep( 0.01span style="color: #000000") span style="color: #0000ff"print (spa[详细]
-
python:装饰器进阶
所属栏目:[Python] 日期:2020-12-17 热度:174
1、wraps functools wrapper(func): @wraps(func) inner(*args,** ( = func(*args,** ( @wrapper span style="color: #008000"# span style="color: #008000"holiday = wrapper(holiday) span style="color: #0000ff"def span style="color: #000000" holida[详细]
-
python:迭代器与生成器
所属栏目:[Python] 日期:2020-12-17 热度:97
一、导入 1,dir功能 print(dir([]))告诉我这个列表拥有的所有方法 ?带着双下划线的方法叫做双下方法。 2,一个列表执行了_iter_()之后的返回值就是一个迭代器 3,_length_hint_元素个数 4,_setstate_从指定位置取值 5,[]._iter_()迭代器---->_next_通过ne[详细]
-
python:生成器进阶
所属栏目:[Python] 日期:2020-12-17 热度:112
1,列表推导式? 值 for 循环 2,生成器表达式 g=(i for?i in?range(10)) print(g) for i in g: ? ? print(i) 3,列表推导式与生成器表达式的区别 #括号不一样 #返回值不一样? ===》生成器表达式几乎不占内存 g =('鸡蛋%s'%i for i in range(10)) print(g) for[详细]
-
Python:函数的命名空间、作用域与闭合函数
所属栏目:[Python] 日期:2020-12-17 热度:52
1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源。 2,三元运算 c=a if a>b else b#如果a》b返回a,否则,返回b 变量 =条件返回True的结果 if?条件?else?条件返回False的结果 必须要有结果 必须要[详细]
-
Python:函数
所属栏目:[Python] 日期:2020-12-17 热度:95
h1 style="text-align: center"函数 1,自定义函数 s = my_len(): i = k +=1 i my_len() 函数的特点:定义了之后可以在任何需要它的地方调用。 1.my_len()函数计算字符串长度与len()系统内置函数相比: (1),不能变,只能计算s字符串的长度 (2),只是输出了[详细]
