随笔分类 - python整理1
-
8_23mysql的其他内容(视图等)
摘要:一。视图 MySQL中有一种比较方便的表,就是视图(view)。 什么是视图? 视图就是通过查询获得一张虚拟表,然后将其保存,下次可以直接使用这个视图。 使用视图就可以不需要重复查询/连接表,在代码层次比较方便。 视图创建的语法: #语法:CREATE VIEW 视图名称 AS SQL语句 crea 阅读全文
-
8_22数据库(navicat操作)
摘要:补充: exist存在EXISTS关字键字表示存在。在使用EXISTS关键字时,内层查询语句不返回查询的记录,而是返回一个真假值,True或False。 当返回True时,外层查询语句将进行查询当返回值为False时,外层查询语句不进行查询。 select * from emp where exis 阅读全文
-
8_21表的查询
摘要:一。语法 表的查询一般使用select关键字,配合where筛选。顺序如下: # 先后顺序 from where select 二。where约束条件 首先先建立表: create table emp( id int not null unique auto_increment, name varc 阅读全文
-
8_20数据库3外键
摘要:一。一对多 在数据库使用数据中经常遇到一对多的情况,以公司员工为例。 一张完整的员工表有以下字段: id name gender dep_name dep_desc . 以此建表得: id name gender dep_name dep_desc 1 jason male 教学部 教书育人 2 e 阅读全文
-
8_19 数据库
摘要:一。存储引擎 不同的数据应该有不同的处理机制 MySQL中也有不同的存储引擎: 1.InnoDB MySQL默认的存储引擎。 innoDB比myisam存储数据要安全。 innoDB支持事务。 innoDB支持行锁。就是对一行数据的操作为串行。 innoDB支持外键。 2.myisam:MySQL老 阅读全文
-
8_16 MySQL数据库一
摘要:一。数据库概念 在没有数据库时,编写项目都是使用db模拟数据库。将文件以列表或字典等存入文件夹。 但是,不同的程序员存放数据的方式都是各不相同的,而且摆放的位置都是不一样的。 如何同一数据格式,和如何统一数据存放位置,成为了一个问题。 于是,数据库就成为了这个存放数据,规范数据存储方式的容器。 1. 阅读全文
-
8_15 并发编程4,线程池与协程,io模型
摘要:一。线程池 线程池是一个处理线程任务的集合,他是可以接受一定量的线程任务,并创建线程,处理该任务,处理结束后不会立刻关闭池子,会继续等待提交的任务,也就是他们的进程/线程号不会改变。 当线程池中的任务没有结束时是不会接受下一个任务的。 它的操作有: pool = ThreadPoolExecutor 阅读全文
-
8_14 并发编程三 线程的GIL
摘要:一。GIL 什么是GIL? GIL是一个全局排他锁,简单来说就是为了防止多线程并行操作的锁。这里有官方解释: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threa 阅读全文
-
8.12并发编程二线程
摘要:一。进程间的通信 在进程中,可以通过Queue队列进行通信,队列有两个特点: 1.先进先出。(先来的数据先被取出) 2.管道式存取。(数据取出一次后就不会在有了) 在python中有以下方法来操作数据。 from multiprocessing import Queue q = Queue(5) f 阅读全文
-
8.9 操作系统与并发编程
摘要:一。操作系统相关 1.手工操作 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 这时候的计算机是由人为将穿孔的纸带装入输入机,控制台获取到数据和操作后进行计算,计算完后打印结果,最后用户取走纸带放入下一个用户的纸带。 手工操作方式两个特 阅读全文
-
8_8 TCP上传文件socketserver的应用
摘要:一。文件上传 对于一些比较大的文件,当传输的数据大于内存时,显然,一次性将数据读取到内存中,在从内存传输到服务器显然时不可取的。 所以,在上传文件时,可以在with open打开文件,边读取文件边发送,一行行的发送,在接收端也可以一行行的写入,这样在内存中占用的内存就只是一行而已。 注意,在读取文件 阅读全文
-
8_7 网络编程之tcp协议
摘要:一。socket模块 socket模块就是用来网络搭建的模块,socket也叫套接字。 创建网络连接,需要使用两个模块进行模拟,一个作为server服务器端,一个作为client客户端。 在服务器端,需要先申明一个socket,再使用bind等待接入,需要传入IP地址和端口号,这里注意,这两个需要放 阅读全文
-
8.6 网络编程7层协议
摘要:一。软件开发架构 在所有软件中有两种结构模式 1.c/s架构(client/server) c代表的是客户端 s代表的是服务端 2.b/s架构(browser/server) b代表的是浏览器 s代表的是服务端 当然,bs架构的本质也是cs架构。 在现在手机中,软件中多有网站的链接等等,是c/s中b 阅读全文
-
7.30 反射与元类
摘要:一。反射 在python中,反射通常是指一个对象应该具备,可以检测修复,增加自身属性的能力。 而反射可以通过字符串对其进行操作。 其中涉及了4个函数,是四个普通 的函数: hasattr(oop,str,none)判断该对象是否有某个属性,如果有返回其值,如果没有,返回第三参数,默认为none ge 阅读全文
-
7.29 多态和类的内置方法
摘要:一。多态 在现实生活中,多态也会体现。如对于水这种物质,有固态:冰,液态:常态,气态:水蒸气, 在程序中,其官方定义是:多个不同对象可以相应同一方法,产生不同的结果。 而在python中,多态不是一个特殊的语法,而是一种关系,一种特性,举例: class A: def work(self): pri 阅读全文
-
7.26面向对象之封装(接口与抽象)
摘要:一。封装。 封装就是将丑陋复杂的隐式的细节隐藏到内部,对外提供简单的使用接口。 对外隐藏内部实现细节,并提供访问的接口。对内使用self操作。 二。为什么要封装? 对于一个计算机来说,不可能不使用机箱就将处理器,内存,硬盘等东西暴露在外面交给用户,所以对于程序来说也是一样的,目的有2: 1.为了保证 阅读全文
-
7.25 面向对象之继承
摘要:一。继承 什么是继承? 继承是一种关系,就是描述两者之间什么是什么的关系。 在程序中,继承描述的是类与类之间的关系。 例如a如果继承了b,a就具备了b的所有变量与方法,可以直接调用。 class B: text=2 class A(B): pass print(A.text) #2 a称之为子类,b 阅读全文
-
7.24 面向对象1
摘要:一。面向对象概念 面向对象是一种编程思想,是实现代码高内聚低耦合的关键概念,核心是对象,程序就是由多个对象组成,程序员调度这些对象进行工作。 而与之相对的是面向过程的编程。 优点:逻辑清晰 , 复杂问题简单化,流程化 缺点: 扩展性差,可维护性差 比如将大象放入冰箱的三步:1.打开冰箱门,2.将大象 阅读全文
-
7.19包与logging模块,深浅拷贝
摘要:一。包 在模块的定义里,模块就是方法的集合,可以将一些常用的方法封装到一个py文件中,通过调用使用,而且,其中的表现形式也有以包的形式导入。 其实,包就是一系列模块的结合体,表示形式就是一个文件夹,在文件夹中有一个__init__py文件。 init文件就是将包中的方法全部集合 的地方,使用者使用包 阅读全文
-
7.18 常用模块
摘要:一。collections collections模块中提供了除了dict,list,str等数据类型之外的其他数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.d 阅读全文