摘要:一、CSS语法 1、CSS实例 每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。 2、CSS注释 /*这是注释*/ 二、CSS的几种引入方式 1、行内样式 行内式是在标记的style属性中设定CSS样式。不推荐大规模使用。 2、内部样式 嵌入式是将CSS样
阅读全文
摘要:HTML介绍 1、web服务本质 浏览器发请求-->HTTP协议-->服务端接收请求-->服务端返回响应-->服务端把HTML文件内容发给浏览器-->浏览器渲染页面 2、HTML是什么? 超文本标记语言(HTML)是一种用于创建网页的标记语言 HTML不是一种编程语言。 3、HTML文档结构 最基本
阅读全文
摘要:一、协程存在的原因 因为想要在单线程内实现并发的效果(因为CPython有GIL锁,限制了在同一个时间点,只能执行一个线程,所以想要在执行一个线程的期间,充分的利用CPU的性能,因此想在单线程内实现并发的效果) 并发 :切换 + 保存状态 (yield 只能单纯的实现状态的保存和切换函数) yiel
阅读全文
摘要:一、同一个进程内的队列(多线程) import queue queue.Queue() 先进先出 queue.LifoQueue() 后进先出 queue.PriorityQueue() 优先级队列 优先级队列 q = queue.PriorityQueue() q.put((pri , data)
阅读全文
摘要:一、线程的概念。 线程被称为轻量级的进程。GIL:全局解释锁(只有CPython解释器才有) 对于线程来说因为有了GIL所以没有真正的并行。 计算机的执行单位以线程为单位。计算机的最小可执行单位为线程。 进程是资源分配的基本单位。线程是可执行的基本单位,是可被调度的基本单位。 线程不可以自己独立拥有
阅读全文
摘要:一、生产者消费者 主要是为解耦(借助队列来实现生产者消费者模型) import queue # 不能进行多进程之间的数据传输 (1)from multiprocessing import Queue 借助Queue解决生产者消费者模型,队列是安全的。 q = Queue(num) num :为队列的
阅读全文
摘要:lis = [] def find_path(filepath,n): lis_file = os.listdir(filepath) for i in lis_file: # 迭代出lis_file下的文件夹和文件 file = os.path.join(filepath,i) # 把目录拼接起来 try: if os.p...
阅读全文
摘要:IPC 进程间通信(inter-Process Communicate) 锁机制(Lock) l = Lock() 开启一个锁机制(实例化) 一把锁配一个钥匙 l.acquire() 获得钥匙,锁门 l.release() 还钥匙,开门 信号量机制(Semaphore) sem = Semaphor
阅读全文
摘要:1、算法概述 1.1 算法分类 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 1
阅读全文
摘要:1、编程语言的发展: 机器语言:二进制 汇编语言:指令,命令形式的 高级语言:面向过程(C)面向对象(python,c++,java) 2、操作系统的目标: 为了用户使用更方便。 作用: 有效性:提高系统资源利用率。 方便性:更加方便用户的使用。 高内聚:内聚指模块内部各部分之间的紧密程度。 低耦合
阅读全文
摘要:# 切换目录(客户端代码) import socket import os sk = socket.socket() sk.connect(("127.0.0.1",8090)) abs_path = input('请输入一个根目录:') sk.send(abs_path.encode('utf-8')) current_dir = sk.recv(1024).decode('utf-8')...
阅读全文
摘要:# 客户端 import socket import hashlib import json import os import struct sk = socket.socket() # 实例化 sk.connect(('127.0.0.1', 8090)) # 请求连接 def login(): dic = {'status': False, 'username': None...
阅读全文
摘要:struck.pack(type,num) type : 是num的类型 num : int类型 r = struck.pack 把一个num内容打包成一个c规定的字节bytes的个数 struck.unpack(type,r) 功能 :解包,把r解成原数字,结果是一个元祖,原数字在元祖的下标位为0
阅读全文
摘要:# 文件的上传下载客户端普通版(会有粘包的情况出现) import os import json import socket sk = socket.socket() sk.connect(('127.0.0.1',8080)) menu = {'1':'upload','2':'download'} for k,v in menu.items(): print(k,v) num =...
阅读全文
摘要:1、执行命令: 在py代码中去如何调用操作系统的命令 新模块:subprocess r = subprocess.Popen('ls',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) subprocess.Popen(cmd,she
阅读全文
摘要:1、交换机与路由器的区别 交换机的主要功能:是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点、点对多的形式发送给固定端。 路由器的主要功能:是进行跨网段数据传输,路由选择最佳路径。 ex:如果你需要将多个电脑连接到一根网线上,用交换机即可。 如果你只有一个外网IP,但是你有好多台电脑需要
阅读全文
摘要:1、架构 1、C/S架构:client客户端和server服务器端 优势:能充分发挥pc机的性能 2、B/S架构:browser浏览器和server服务器 隶属于C/S架构 B/S架构 统一了应用的接口 2、通信的事 a、同一台电脑上两个py程序通信:打开一个文件 b、两个电脑如何通信:连一个网线
阅读全文
摘要:1、什么是队列? 队列是一种特殊的线性表,它的特性是先进先出 2、队列的一些操作: 3、deque双段队列 除了支持list的append()和pop()之外,还支持appendleft和popleft 往头部插入和删除 总结: 在insert remove的时候deque的平均效率要高于列表 列表
阅读全文
摘要:异常 Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 Iteration 异常 在执行代码的过程中引发的异常 最简单的异常处理 try: pass except IndexError: pass 多分支异常处理 try: pass except ValueError: pass e
阅读全文
摘要:configparser模块 固定格式的配置文件 有一个对应的模块去帮你做这个文件的字符串处理 config = configparser.Configparser() config.read(“example.ini”) logging模块 功能 1、日志格式的规范 2、操作的简化 3、日志的分级
阅读全文
摘要:序列化 将字典\列表等数据类型转换成字符串的过程叫做序列化 序列化的目的 1.以某种存储形式使自定义对象持久化 2.讲对象从一个地方传递到另一个地方 3.使程序更具维护性 json模块提供了四个功能:dumps\dump\loads\load json是一种所有的语言都可以识别的数据结构 json格
阅读全文
摘要:random 模块 1.随机小数 random.random() 0-1内的随机小数 random.uniform(1,5) 1-5范围内的随机小数 2.随机整数 random.randint(1,5) [1,5] 包含5在内的范围内取整数 random.randrange(1,5,2) [1,5)
阅读全文
摘要:1、基础知识 什么是正则表达式? 一种匹配字符串的规则 应用领域 自动化开发、数据分析 爬虫 注册页面的表单验证、web开发 2、正则表达式的语法 元字符 字符组[ ] [^] 除了 | 或 () 分组 在一个字符位置上能出现的内容 [0-9][a-z][A-Z] 匹配三个字符 [abc0-9] 匹
阅读全文
摘要:1、__del__ 析构方法 释放一个空间之前之前 垃圾回收机制 2、item系列 和对象使用[ ]访问值有联系 __getitem__ __setitem__ __delitem__ 3、__hash__ 底层数据结构基于hash值寻址的优化操作 hash是一个算法 能够把某一个要存在内存里的值通
阅读全文