03 2023 档案
摘要:1.多进程实现TCP服务端并发: import socket from multiprocessing import Process def get_server(): server = socket.socket() server.bind(('127.0.0.1', 8080)) server.
阅读全文
摘要:多道技术: """ 在学习并发编程的过程中 不做刻意提醒的情况下 默认一台计算机就一个CPU(只有一个干活的人) """ 单道技术 所有的程序排队执行 过程中不能重合 多道技术 利用空闲时间提前准备其他数据 最大化提升CPU利用率 多道技术详细 1.切换 计算机的CPU在两种情况下会切换(不让你用
阅读全文
摘要:模块:socketserver tcp协议: 服务端: import socketserver class MyRequestHandle(socketserver.BaseRequestHandler): def handle(self): # print(self.request) #如果tcp
阅读全文
摘要:粘包: 1.粘包问题出现的原因: (udp不会出现粘包问题) 1.1.tcp是流式协议,数据像水流一样黏在一起,没有任何边界区分 1.2.收数据没收干净,有残留,就会下一次结果混淆在一起去(客户端接受限制,发送端数据量太大) 2.解决粘包问题思路: 1.当时短连接的情况下,不用考虑粘包的情况 2.如
阅读全文
摘要:1.应用层: 应用层功能:规定应用程序的数据格式。 例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。 2.传输层: 传输层功能:建立端口到端口的通信 补充:端口范围0-655
阅读全文
摘要:内置方法(魔法方法简称魔法): 1. __init__ 2. __str__,__repr__ """ 1. 打印对象或者输出对象的时候,会自动触发 2. 返回值必须是字符串,不能没有返回值 3. 如果同时存在的时候,__str__的优先级最高 4. 一般情况都用了__str__,偶尔也会遇到__r
阅读全文
摘要:派生的方法与重用: 方法一:指名道姓的调用某一类函数 >>> class Teacher(People): ... def __init__(self,name,sex,age,title): ... People.__init__(self,name,age,sex) #调用的是函数,因而需要传入
阅读全文
摘要:封装: 为什么要隐藏属性: 目的的是为了隔离复杂度,例如ATM程序的取款功能,该功能有很多其他功能组成, 比如插卡、身份认证、输入金额、打印小票、取钱等, 而对使用者来说,只需要开发取款这个功能接口即可,其余功能我们都可以隐藏起来 >>> class ATM: ... def __card(self
阅读全文
摘要:ATM的架构: 用户功能层:src 注册登录接口层:user_interface 数据处理层:db_landly 公共层:common 登录装饰器需要一个全局变量src.login_name来查询是否登录 管理员功能: admin 用户功能层显示: #管理员 def admin(): while T
阅读全文
摘要:面向过程: 核心是‘过程’二字,将程序流程化 优点:#将程序流程化,进而程序的设计会变得简单化 缺点:#可扩展性差 面向对象: #核心是‘对象’二字 #对象的终极奥义就是将程序高度‘整合’ #对象是‘容器’,用来盛放数据与功能的 优点:#提升程序的解耦合成度,进而增强程序的可扩展性 缺点:#设计起来
阅读全文
摘要:hashlib模块: # 1. 先确定你要使用的加密方式: md系列,sha系列 md5 = hashlib.md5() # 指定加密方式 # 2. 进行明文数据的加密 data = 'hello123456' md5.update(b'hello') # 括号里面加密数据必须是字节类型,bytes
阅读全文
摘要:random: 验证码的实现: choice是选择列表中任意一个 ##记得把randint取出来的数字转化成str类型,要不就会相加 ##cha()是把asc编码表里的数字转化成字符 更进一步做成函数形式 ssample可在列表里面选择多个随机出现 os模块:#目录:当前文件上一层的文件夹 dir
阅读全文
摘要:with open('db.txt') as f: items=(line.split() for line in f) #先是生成列表 info=[{'name':name,'sex':sex,'age':age,'salary':salary} \ for name,sex,age,salary
阅读全文
摘要:时间模块: 一:time import time time的解析: 时间分为三种格式: 第一种: 第二种: 第三种: 二:datatime import datatime #表达形式 print(datatime.datatime.now()) #现在的时间 时间的加减: print(datetim
阅读全文
摘要:包的使用: import.sys print(sys.path) #查看执行文件的环境 环境变量是以执行文件为准的,所有被导入的模块或者后续的其他文件引用的sys.path都是参照执行文件的sys.path 针对包内部模块之间的相互导入推荐使用相对导入: #1、相对导入只能在包内部使用,用相对导入不
阅读全文
摘要:模块的简介: import句式: import md # 导入模块的时候,文件名后缀不能加 首次导入模块发生了哪些事情: 1. 运行执行文件,产生执行文件的全局名称空间 2. 运行导入文件(md.py) 3. 产生导入文件的全局名称空间,并且,把导入文件中产生的名字都保存到导入文件的全局名称空间 4
阅读全文
摘要:生成器是迭代器的一种 面试小重点: """" 函数中如果存在yield关键字,在调用函数之前,还是一个普通函数,一旦调用函数,就把函数变成了生成器(迭代器) **************** 生成器一定是迭代器 迭代器不一定是生成器 *************** """ res=index() #
阅读全文
摘要:内置有__iter__方法的对象都是可迭代对象 '''内置的意思是python自带的,解释器中已经存在的,我们可以直接使用的''' 目前所学的数据类型 # 目前我所学的数据类型中,有哪些是可迭代对象, 都支持for循环 str, list, dict, tuple, set, 文件对象 ##文件本身
阅读全文
摘要:递归函数: 什么是递归函数:就是直接或者间接的调用自己 """ 递归: 1. 递推 逐层寻找答案 2. 回溯 根据最终的答案推导出最原始的答案 3. 递归函数必须有结束条件!!! """ 递归练习题: lst = [1, [2, [3, [4, [5, [6, [7, ]]]]]]] 第一种方法:
阅读全文
摘要:#开放封闭原则:对修改封闭,对扩展开放 装饰器的核心思想: 在不改变被装饰对象的内部代码和原有调用方式的基础上在添加额外的功能 装饰器他人的器具,本身可以是任意可调用对象,被装饰者也可以是任意可调用对象。 强调装饰器的原则:1 不修改被装饰对象的源代码 2 不修改被装饰对象的调用方式 装饰器的目标:
阅读全文
摘要:1.形参与实参的介绍 形参:在定义函数阶段定义的参数称之为形式参数(相当于变量名) def func(x,y): #x=1 y=2 print(x,y) 实参:在调用函数阶段传入的值,(相当于变量名) func(1,2) 形参与实参的关系: 1.在调用阶段,实参(变量值)会绑定给形参(变量名) 2.
阅读全文
摘要:函数的定义与调用: 1. 函数必须先定义,后调用 2. 函数在定义阶段,如果有参数,调用阶段也需要给对应的参数 3. 函数在定义阶段只检测语法是否正确,不执行具体的代码功能 4. 函数在调用阶段会执行具体的函数体代码 5. 如何调用函数?# 函数名() 函数的底层原理: 1. 申请一块内存空间,存储
阅读全文
摘要:字符编码需要记忆的地方: 文本文件使用什么字符编码保存,打开的时候就要使用对应的字符编码 编码与解码: 编码:将人类能够读懂的语言转为计算机能够读懂的语言 s1 = ss.encode('utf8') 解码:将计算机能够读懂的语言转为人类能够读懂的语言 print(s1.decode('utf8')
阅读全文
摘要:先构造一个函数来接住这个登录模板 接下来输入该用户的薪资,函数的返回值为薪资,然后将薪资赋予给变量名X 最后弊端在函数类调用该函数一次退不出来,只会退出内层函数 打印商场清单列表,输入商品名和购买的数量,然后将其装入dic列表,切记如果数量是增加的话讲数量转化为int类型,字符串无法进行计算
阅读全文
摘要:'''容器类型:能够存放多个元素的数据类型都是容器类型,所以,针对容器类型存储的时候,内部只有一个元素的时候,都推荐加上逗号隔开''' 字符串的例题: 查看代码 name = "aleX" # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 print(name.lstrip()) #
阅读全文
摘要:布尔值的重点: 可变类型与不可变类型: 标志位的使用: flag = True #定义一个标志为True while flag: username=input('username:>>>') password=input('password:>>>') # if username == 'kevin
阅读全文
阅读目录(Content)
此页目录为空