09 2018 档案
摘要:一、存储引擎 存储引擎标志表的性质不一样,使用的特点不一样 表中存储数据的格式就是存储引擎 表的存储方式:表结构存在一个地方,数据存在另一个地方。 表的零另一种存储方式:表结构存在硬盘了,数据存在内存里,断电消失,但是速度快。 查看存储引擎命令 show engines; 创建表的时候指定 engi
阅读全文
摘要:一、用户登陆、创建操作 mysql -u 用户名 -p 密码 用户名root是mysql权限最高的,管理员用户 出现mysql> 说明登陆成功 查看当前登陆用户 select user(); 当输入sql错误时,输入\c放弃本条语句的输入 创建用户 create user '用户名'@'%' ide
阅读全文
摘要:一、数据库在开发中的地位 python基础是后端程序的开发,主要负责数据的处理(增删改查) 使用文件存储,利用python跟文件交互的弊端: ① 结果不好看,需要在控制台,使用终端控制 ② 文件的处理非常繁琐 数据库的优势: 通过一些语法规则来从数据库种获取想要的数据,或者想要做的操作 ① 程序稳定
阅读全文
摘要:一、进程 进程和线程是包含关系,每个进程中都至少有一条线程 进程是计算机最小的资源分配单位 可以利用多核,可以实现并行 数据隔离 创建、销毁、切换的时间开销都比较大 随着开启的数量增加给操作系统带来压力 使用场景:充分利用多核,高计算型的程序,但启动的数量有限 二、线程 线程是进程的一部分 线程是被
阅读全文
摘要:一、阻塞IO模型 阻塞IO基于socket程序 原理: ① recv接收数据时,不是直接接收数据,而是程序将系统调用的命令发送到操作系统 ② 当操作系统收到接收数据的请求,若此时无数据,操作系统会继续等待,处于等待数据阶段(wait for data阶段),这个阶段相对漫长 ③ 当数据来了,操作系统
阅读全文
摘要:一、协程 协程在python语言中的地位是不可撼动的。协程弥补了线程给程序带来的遗憾 协程的使用场景:爬虫,访问网页常用的方式,极大程度的节省时间 进程:计算机中最小的资源分配单位 线程:计算机中能被CPU执行的最小单位 协程也叫纤程,比线程还小的单位,cpu看不见协程,协程仍然是一条线程,N个任务
阅读全文
摘要:一、互斥锁 多进程中数据不安全,所以要加锁。 多线程虽然有GIL锁,但是由于GIL锁轮转的策略(多线程之间时间片的轮转),仍存在数据不安全的情况,但是相对几率较低。 GIL锁轮转的策略:早期执行700条指令(不是700行,+= 操作相当于4条指令),现在是执行一个时间片时间,当前线程会让出cpu给其
阅读全文
摘要:一、进程创建的机制 进程是计算机中最小的资源分配单位 进程对于操作系统来说还是有一定的负担 创建一个进程,操作系统要分配的资源大致:代码、数据、文件 存放代码到内存,存储数据到内存空间,文件,系统分配需要时间,占用的空间也比较大 二、线程 随着对并发的要求越来越高,无限开启进程是不现实的,解决高并发
阅读全文
摘要:enum模块 继承enum.Enum,类的静态成员有name和value,name就是静态属性的名字,value就是静态属性的只值 迭代 循环类的属性,将属性名和属性值对应打印出来 根据类的属性的值来排序,输出属性名 类的属性有相同的值,遍历的时候,它们都不会出现在输出中。枚举成员中第一个关联到成员
阅读全文
摘要:一、进程之间的通信 进程之间的通信称为IPC 多个进程之间有一些固定的通信内容,socket基于文件家族通信 进程之间虽然内存不共享,但是是可以通信的 Lock Semaphore Event 都是进行进程之间的通信的,但是通信的内容不能改变 进程之间的通信可以通过进程队列和管道来控制 二、进程队列
阅读全文
摘要:string 模块保留的一些用来处理 str 对象的常量和类 string.capwords() 字符串的所有单词首字大写 模板 定义模板 使用 safe_substitute() 方法可以带来一个好处,那就是如果模板需要的值没有全部作为参数提供给模板的话可以避免发生异常。
阅读全文
摘要:from itertools import groupby from operator import itemgetter d1={'name':'liuyi','age':25,'city':'SZ'} d2={'name':'chener','age':18,'city':'SH'} d3={'name':'zhangsan','age':23,'city':'
阅读全文
摘要:一、join() 方法 阻塞当前进程,直到调用join方法的那个进程执行完,再继续执行当前进程 控制进程是否结束,进程结束就结束阻塞 使进程处于阻塞状态,直到进程执行完就结束阻塞 相当于同步控制 二、第二种开启子进程的方式 面向对象的方式启动,创建类且继承Process方法,并重写run方法 sta
阅读全文
摘要:一、进程的创建 导入multiproccess包,导入Process模块 创建子进程必须在 if __name__ == '__main__'内运行,因为开启子进程相当于import主进程文件,但是inport不会执行main下的代码,所以windows系统必须在if __name__ == '__
阅读全文
摘要:一、网络编程回顾 tcp是流式传输,字节流,数据与数据之间没有边界 优点:不限定长度,可靠传输 缺点:慢,和一端的通信连接conn会一直占用通信资源 udp协议式面向数据包的传输 优点:快,由于不需要建立连接,哪一端发送消息都能收到 缺点:不能传输过长的数据,不可靠 黏包现象: 由于tcp协议流式传
阅读全文
摘要:一、黏包现象: 一次只能接收到部分信息 黏包原理: tcp:客户端每次发送数据给服务器端,服务器端都会给客户端一个回复 tcp的合包机制:对tcp的原理做了优化,客户端短时间内发送了两条很短的信息,将两条信息合并为一条,但只返回一个回复 tcp的拆包机制: 网络上传输的字节数是有限的,网络上传输最大
阅读全文
摘要:一、B/S和C/S架构 C/S架构:使用客户端(程序)来与服务器进行通讯 C:client 客户端 S:server 服务器 B/S架构:使用浏览器进行通讯,属于一种C/S架构 B:browser 浏览器 S:server 服务器 PC端:bs架构是未来的趋势,统一了程序的入口 移动端:微信公众号、
阅读全文
摘要:一、异常: 异常:在编译阶段没问题,在执行阶段才报错 查看异常: ① 错误代码,从下往上看,找到自己写的代码块 ② 根据错误类型判断 二、异常处理 即便放在try语句的内容,在遇到报错之后也会中断这段语句的执行 报错之后,try里面剩余的代码不会执行,但是在try外面的内容还会继续执行 ① 单分支
阅读全文
摘要:\d : 任何数字 \D : 不是数字 \s : 任何 white space, 如 [\t\n\r\f\v] \S : 不是 white space \w : 任何大小写字母, 数字和下划线 [a-zA-Z0-9] \W : 不是 \w \b : 空白字符 (只在某个字的开头或结尾) \B : 空
阅读全文
摘要:一、import 模块 import一个模块相当于执行了这个模块,导入模块后可以使用模块中的属性和方法,比如模块名.变量、模块名.函数 当前模块和被导入模块是存在两个不同的内存空间 import模块的原理: ① 寻找模块 ② 找到模块就开辟一块空间,来执行这个模块 ③ 把这个模块中用到的名字都收录到
阅读全文
摘要:一、模块 模块就是写好的功能放在一个文件里,即py文件 模块的种类: ① 内置模块:安装python解释器的时候就装上了 ② 第三方模块、扩展模块:不在内置模块不一定不重要,根据用户需求安装使用 ③ 自定义模块:自己写的py文件 二、序列化模块 序列:列表、元组、字符串、bytes 序列化:把一个数
阅读全文
摘要:一、类的type ① 所有的对象的type都是创造这个对象类 ② 所有没有指定metaclass的类的type都是type ③ 指定了metaclass,这个类的type就是指定的metaclass的值 ④ 类也是被创造出来的,type是创造类的机制,即元类是创造类的机制 所有的对象的type都是创
阅读全文
摘要:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 答案: class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type
阅读全文

浙公网安备 33010602011771号