随笔分类 - python 全栈开发
摘要:一、html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准、表现标准、行为标准。 结构:html。表示:css。行为:Javascript。 web准备总结: 结构标准:相当于人的身体。
阅读全文
摘要:昨日内容回顾 协程实际上是一个线程,执行了多个任务,遇到IO就切换 切换,可以使用yield,greenlet 遇到IO gevent: 检测到IO,能够使用greenlet实现自动切换,规避了IO阻塞问题。 昨天没有讲到的小问题,看下面的例子: 执行程序,没有输出结果 加上join 执行输出:ea
阅读全文
摘要:python全栈11期月考题 答案: 第29题讲解: 先来讲一个概念 生成器表达式和列表推导式的区别: 生成器表达式是要一个值计算一个值 列表表达式是一次把所有的值都拿出来 步骤分解: 执行输出: [<function func at 0x0000020B24397F28>, <function f
阅读全文
摘要:昨日内容回顾 I/O模型,面试会问到I/O操作,不占用CPU。它内部有一个专门的处理I/O模块。print和写log 属于I/O操作,它不占用CPU 线程GIL保证一个进程中的多个线程在同一时刻只有一个可以被CPU执行 后续的项目,特别是处理网络请求,非常多。 实例化一个Lock(),它就是一个互斥
阅读全文
摘要:昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当前进程中开启了多个线程 线程和进程的区别: 线程的开启 销毁 任务切换的时间开销小 在同一个进程中数
阅读全文
摘要:昨日内容回顾 队列是内置锁的,所以别的应用调用它,是安全的。凡是涉及到手动加锁的,都是不安全的。常用的一般都是消息中间件 没有返回值的情况 close和join成对使用 执行输出: ********** 有返回值的情况 执行输出: ********** 总结: 主进程默认等待子进程结束 —— 守护进
阅读全文
摘要:昨日内容回顾 一、进程间通信(队列和管道) 判断队列是否为空 执行输出:True 判断队列是否满了 执行输出:False 如果队列已满,再增加值的操作,会被阻塞,直到队列有空余的 执行输出: 10True 从结果中,可以看出,下面的操作q.put(111)之后的代码被阻塞了。 总结: 队列可以在创建
阅读全文
摘要:昨日内容回顾 python中启动子进程并发编程并发 :多段程序看起来是同时运行的ftp 网盘不支持并发socketserver 多进程 并发异步 两个进程 分别做不同的事情创建新进程join :阻塞 直到 子进程结束守护进程 daemon :子(守护)进程随着主进程代码的结束而结束进程之间数据隔离使
阅读全文
摘要:昨日内容回顾 操作系统纸带打孔计算机批处理 —— 磁带 联机 脱机多道操作系统 —— 极大的提高了CPU的利用率 在计算机中 可以有超过一个进程 进程遇到IO的时候 切换给另外的进程使用CPU 数据隔离 进程与进程之间的数据是隔离的 时空复用 在同一时刻 多个程序宏观上的并行分时系统 —— 反而降低
阅读全文
摘要:昨日内容回顾: 一、操作系统的发展史 手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动
阅读全文
摘要:先来回顾一下昨天的内容 黏包现象粘包现象的成因 : tcp协议的特点 面向流的 为了保证可靠传输 所以有很多优化的机制 无边界 所有在连接建立的基础上传递的数据之间没有界限 收发消息很有可能不完全相等 缓存机制,导致没发过去的消息会在发送端缓存 没接收完的消息会在接收端缓存解决: 给应用层定制协议解
阅读全文
摘要:一、TCP协议 粘包现象 和解决方案 黏包现象让我们基于tcp先制作一个远程执行命令的程序(命令ls -l ; lllllll ; pwd)执行远程命令的模块 需要用到模块subprocess subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的
阅读全文
摘要:昨日内容回顾 网络的基础概念arp协议 :通过ip地址找到mac地址五层模型 : 应用层 传输层 网络层 数据链路层 物理层tcp协议 : 可靠的 面向连接 全双工 三次握手 四次挥手udp协议 : 不可靠的 面向数据包的 高效的socket : 是模块 是和应用层直接交互, 向下封装了,应用层之下
阅读全文
摘要:先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的交换机 :能够保证在一个局域网内的机器之间通信路由器 :跨局域网之间的通信 - 路由表 arp协议
阅读全文
摘要:一、知识回顾 匹配整数 执行输出: ['1', '2', '60', '40', '35', '5', '4', '3'] 结果是不对的,因为它把小数也拆分了,得到['40','35'] 有的时候 不想要的内容需要被匹配出来你不想要的东西包含着你想要的东西 匹配小数 执行输出: ['-40.35']
阅读全文
摘要:回顾昨天的内容 一、re模块 re模块 可以读懂 你写的正则表达式 根据你写的表达式去执行任务 一般网站注册手机,会验证手机号是否有效 根据手机号码一共11位并且是只以13、14、15、18开头的数字这些特点,我们用python写了如下代码: while True: phone_number = i
阅读全文
摘要:月考题: 7th_questions文件内容如下: test2.py文件内容如下: 答案:
阅读全文
摘要:一、纸牌游戏 先来回顾一下,昨天的内容 1. import 一个模块相当于执行这个py文件2.模块不会被重复导入3.导入的模块存到sys.modules里4.导入模块的之后发生了什么: 先看看模块在不在sys.modules里,如果不在: 生成一个属于模块的命名空间 执行py文件 创建一个与py文件
阅读全文
摘要:一、昨日作业讲解 先来回顾一下昨日的内容 作业讲解:os.listdir() 返回一个列表,里面的每一个元素都是相对路径值就是文件,或者文件夹 使用递归的方式实现 执行输出: 4950326 栈(先进先出)使用栈的思想完成上面的代码: 执行输出: 4951192 和上面的结果有微小的差异,是因为,当
阅读全文
摘要:一、复习 collections 增加了一些扩展数据类型 :namedtuple orderdict defaltdict队列和栈time 时间 三种格式 : 时间戳 结构化 字符串random 随机数 打乱顺序sys 和python解释器交互的: path 导入模块的时候 从这个路径中获取 arg
阅读全文