自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 day 45 联合查询,子查询,区间修饰条件,视图,事务

联合分组# 数据来源:在单表emp下# 联合分组:按多个字段综合结果进行分组# 按 area与port组合后的结果进行分组,只有组合后的结果还一致,才认为是一组select group_concat(name),area,port from emp group by area,port;子查询# 增:insert into 表 select子查询# 删:dele...

2019-09-26 19:24:00 202

转载 day 44 单表查询,多表查询

单表查询增:insert [into] [数据库名.]表名[(字段1[, ..., 字段n])] values (数据1[, ..., 数据n])[, ..., (数据1[, ..., 数据n])];删:delete from [数据库名.]表名 [条件];改:updata [数据库名.]表名 set 字段1=值1[, ..., 字段n=值n] [条件];查:sele...

2019-09-25 18:57:00 170

转载 day43 字段的修改、添加和删除,多表关系(外键),单表详细操作(增删改查)...

字段的修改、添加和删除create table tf1( id int primary key auto_increment, x int, y int);# 修改alter table tf1 modify x char(4) default '';alter table tf1 change y m char(4) default '';# 增加mysql&g...

2019-09-24 21:39:00 256

转载 day 42 数据库的配置、数据库与表的一些剩余操作、用户操作、数据库表的引擎、数据库的模式、mysql支持的数据类型、约束...

数据库的配置通过配置文件统一配置的目的:统一管理 服务端(mysqld) 、客户端(client)配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用utf8# 配置流程1)在mysql安装根目录下,创建配置文件:my.ini mac下配置文件名叫 my.cnf2)设置配置文件内容并保存[mysqld] # 服务器配...

2019-09-23 19:05:00 148

转载 41 数据库介绍、数据库基本操作

数据库介绍1、什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件2、存储数据的位置:内存、硬盘3、什么是系统:运行在硬件基础上,管理其他软件# 数据库的组成库:存放多张表 - 文件夹表:包含多条相同结构的记录 - 文件记录:包含多个key-value键值对的一条数据 - 二进制数据字段:描述信息 - 信息本身 == key-value - 二进制数...

2019-09-20 14:49:00 254

转载 day 40 线程队列、线程定时器、进程池和线程池、同步与异步、用多线程来写socket服务端与客户端...

线程队列 #先进先出import queueq = queue.Queue()#q.put('123')q.put('qweqwe')print(q.get())print(q.get())# print(q.get())q.task_done()q.join()#后进先出q = queue.LifoQueue() #堆栈 先进后出q.put('粉红色的背心儿')q.p...

2019-09-19 15:55:00 138

转载 day 39 线程锁,死锁问题,递归锁,信号量,gil全局解释锁

线程锁#因为同一进程内的线程是共享资源的,当多个线程同时操作一个变量时,可能会因为线程的切换,导致变量值的错误,所以需要线程锁来保证一个线程运行完,再继续下一个线程from threading import Thread,Lockx = 0mutex = Lock()def task(): global x # mutex.acquire() for i i...

2019-09-18 15:14:00 117

转载 day 38 线程和进程的比较,开启线程的方式,线程的创建的速度,线程的join和其他相关方法,守护线程...

线程和进程的比较线程:cpu最小的执行单位进程:资源集合/资源单位.线程运行 = 运行代码进程运行 = 各种资源 + 线程右键运行:申请内存空间,先把解释器丢进去并且把代码丢进去(进程做的),运行代码(线程).进程和线程的区别:线程==》单指代码的执行过程进程==》资源的申请与销毁的过程进程内存空间彼此隔离同一个进程下的线程共享资源.进程需要申请资源开辟空间 慢只是告...

2019-09-17 15:33:00 127

转载 day 37 用进程锁优化抢票程序、队列、生产者消费者模型、线程的初步认识

用进程锁优化抢票程序from multiprocessing import Process,Lockimport json,time,osdef search(): time.sleep(1) # 模拟网络io with open('db.txt',mode='rt',encoding='utf-8') as f: res = json.load(f) ...

2019-09-16 15:31:00 122

转载 day 36 process模块的join、pid、name、is_alive、terminate方法,守护进程,抢票程序

process的join法from multiprocessing import Processimport timedef foo(): print('进程 start ') time.sleep(2.3) print('进程 end ')if __name__ == '__main__': p = Process(target=foo) p.st...

2019-09-12 17:20:00 145

转载 day 35 并发编程——多进程

背景知识进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念。程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。#操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序#多道技术: 1.产生背景:针对单核,实现...

2019-09-11 15:33:00 102

转载 day 34 socketserver源码分析、面向对象串讲、网络编程串讲

socketserver源码分析import socketserverclass MyTcp(socketserver.BaseRequestHandler): def handle(self): # self.server ThreadingTCPServer的对象: # self.request conn #self.clie...

2019-09-10 14:45:00 105

转载 day 33 udp协议,socketserver模块

udp协议# 基础版本sever:import socketserver=socket.socket(type=socket.SOCK_DGRAM)server.bind(('127.0.0.1', 8003))# udp不要建立连接,直接发#不需要监听# data=server.recvfrom(1024)data,addr=server.recvfrom(1024)#data 是...

2019-09-09 20:14:00 106

转载 32 套接字加通信循环、套接字加连接循环、模拟ssh功能、粘包问题

套接字加通信循环 sever端 import socket #生成一个socket对象 soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #绑定地址跟端口号 soc.bind(('127.0.0.1',8001)) #监听(半连接池的大小) soc.listen(5) #等着客户端来连接,conn相当于连接通道,addr...

2019-09-06 18:48:00 107

转载 day 31 网络编程、简单通信服务端、简单通讯客户端

网络编程C/S和B/S架构c:client s:server 客户端,服务端,eg.电脑上装的qq,微信b:browser s:server 浏览器 服务端,eg.京东,天猫bs架构本质也是cs学习网络编程为了写一个cs架构的软件c端-------网络-----s端s端: 1 有固定ip 2 稳定一直在运行,支持并发#网络:网络连接介质+网络协议(osi七层)#网络协议...

2019-09-05 15:23:00 130

转载 day 30 元类更深认识,单例

元类更深认识#type只传一个参数有什么用? 打印对象的类型#class 底层原理,通过type类来实例化得到类def __init__(self,name): self.name=namePerson=type('Person',(object,),{'x':1,'__init__':__init__})p=Person('lqz')print(Person.__dict__...

2019-09-04 17:27:00 77

转载 day 29 什么是元类、class底层原理分析、通过元类来控制类的产生、通过元类控制类的调用过程、有了元类之后的属性查找...

什么是元类#一切皆对象:类实际上一个一个对象#Person类也是个对象,那他一定是由一个类实例化得到,这个类,就叫元类#type是内置的一个元类,所有的类都是由type实例化得到#产生类的类,叫元类class Person: def __init__(self,name): self.name=name def score(self): pri...

2019-09-03 17:03:00 114

转载 day 28 断点调试,反射,内置方法

断电调试:# 一等公民:只要可以吧一个东西赋值给一个变量,这个东西就叫一等公民#在想要加断点的地方用鼠标点击一下,你会看到一个红色圆圈#变红的地方,程序执行到,就会暂停#断电应该加载报错之前#绿色箭头表示快速跳到下一个断点执行#控制台报错,点击你能看懂的最后一行,光标会快速定位到错误代码,在错误代码上放,加断电,断点调试def test5(): return 'lqz'def te...

2019-09-02 20:23:00 311

转载 day 26 绑定方法,非绑定方法,面向对象串讲

绑定方法:绑定方法 对象绑定方法/类的绑定方法绑定方法:特殊之处,绑定给谁就是谁来掉,并且会把自身传过来类的绑定方法:绑定给类的,类来调用,会把类自身传过来类的绑定方法用在什么地方?不需要通过对象,只需要通过类就能获取到一些东西的时候,用类的绑定方法类的绑定方法,可以由对象来调class Person: def __init__(self,name,age): pr...

2019-08-29 14:41:00 82

转载 day 25 类的组合、多太与多态性、封装

组合什么是组合:对象的某个属性是另一个类的对象#组合的概念class Foo: def __init__(self,bar): self.bar=barclass Bar: pass# f=Foo()bar=Bar()# f=Foo(Bar())f=Foo(bar)为什么使用组合:可以减少代码冗余class Person:  school = 'oldboy...

2019-08-28 16:10:00 94

转载 day 24 类的继承

1.继承的介绍什么是继承:是一种新建类的方式,继承了一个类,类中的属性和方法就在子类中-父类/基类-子类/派生类新式类:只要继承了object类,就是新式类,再python3中,默认继承object类 -Python3中:默认继承object class A: pass -python2中,需要显示的指定继承...

2019-08-27 15:48:00 80

转载 day 23 面向对象编程

今日内容: 1 面向对象和面向过程 -概念: ''' 面向过程: 优点:复杂问题流程化,进而简单化 确定:可扩展性差 面向对象: 优点:可扩展性高 缺点:编写复杂 ...

2019-08-26 14:56:00 78

转载 day 19 typing模块、re模块、爬虫、collections模块

typing模块 typing模块: 提供了Generator,Iterable,Iterator三种数据类型,限制函数输入输出的数据类型def self_add(x: int, y: int): pycharm自带了优化 return x + yfrom typing import Generator,Iterable,Iterator# 参数...

2019-08-20 14:50:00 241

转载 day 18 numpy、pandas、matplotlib模块

numpynumpy: 专门数组(矩阵)的运算lis1 = [1, 2, 3] # 向量lis2 = [4, 5, 6] # 向量import numpy as nparr1 = np.array([1,2,3])arr2 = np.array([4,5,6])print(arr1*arr2) #[ 4 10 18]import numpy as npnumpy数组ar...

2019-08-19 16:22:00 229

转载 day 17 包、模块time、datetime、os、sys、json、pickle、hashlib、hmac、logging

包假设一个m1.py模块中有60个函数,60个函数再分成多个py文件导入方式变换了from m1 import f1对于使用包的人,累死了from m2 import f1from m3 import f6出现了包,把一个模块分成多个文件,但可以保持同样的导入方式。用了包之后还是from m1 import f1, 使用者感觉不到变化包其实是一个文件夹(必须得含有__init__...

2019-08-16 19:53:00 159

转载 day 16 模块的四种形式、import和from import、循环导入问题、模块的搜索路径、python 文件的两种用途、random模块...

模块的四种形式模块就是一个py文件, 这个py文件有一大堆函数# 1. 自定义模块,common.py就叫做common模块# 2. 第三方模块: 需要自己安装 13万个第三方库 ,无所不能,写库(弄得更简单)# 3. 内置模块: python解释器自带的,不需要安装# 4. 包--> 含有__inti__.py的文件夹,一种特殊的模块(解决了一个问题)import和from i...

2019-08-15 20:10:00 120

转载 day 15 递归、 内置函数、面向过程编程

递归递归:递归是函数调用函数本身,然后有结束条件递归的核心: 递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到); 设置一个条件,能够让最后一次函数调用结束;递归代码(递归更多的是一种思想,用来解决某种问题)count = 1 # 2 # 3def f1(): global count # 下面的count是全局的count if count &...

2019-08-14 15:18:00 116

转载 day 14三元表达式、列表推导式、字典生成式、生成器、匿名函数

三元表达式dog_name = 'crazy_dog1'if dog_name == 'crazy_dog': print('疯狂舔????')else: print('溜了')三元表达式/列表推导式/字典生成式 只是让你的代码更少了,但是逻辑没有变化print('疯狂舔????') if dog_name == 'crazy_dog' else print('666')# 三元表达式只...

2019-08-13 20:59:00 138

转载 day 13 闭包函数,装饰器,迭代器

闭包函数函数传参的方式一def inner(x):   print(x)inner(1) # 1函数的传参方式二 (闭包函数,把变量和函数一起包起来,下次要用直接调用)def outter(x):  def inner():     print(x)   return innerinner = outter(2)inner() # 2def get_res(...

2019-08-12 18:57:00 129

转载 day12 可变长参数、函数对象、函数的嵌套、名称空间和作用域

可变长参数可变长参数之*def func(name, pwd, *args): # args会接收多余的位置实参,使用args是约定俗称 print('name:', name, 'pwd:', pwd) print(args) return 1res = func('nick', 123658, 18, 180, 140, 'a', 234)...

2019-08-09 19:16:00 80

转载 day11 文件的高级应用、文件修改的两种方式、函数的定义、函数的三种定义方式、函数的调用、函数的返回值、函数的参数...

文件的高级应用r/w/a即可读又可写(尽量不要使用) # r+ 是在后面追加with open('test.py', 'r+', encoding='utf8') as fr: data = fr.read() print(fr.writable()) fr.write('x = 10') print(data)清空文件的功能是w提供的, w+更...

2019-08-08 15:30:00 143

转载 day10 字符编码、python2和3的区别、文件的三种打开模式、with管理文件操作

字符编码:字符编码: 二进制 和 你所能认识的字符 之间的相互转换的一个过程早期的ascii码中国人的gbk码,4个字节unicode: 认识万国语言,万国编码 unicode:把 8位的英文变成了16位的英文, 多占用了内存空间,因此产生了utf8码可以节省储存空间出现乱码的情况:编码格式不统一文本编辑器支持的是utf8 ,你输入的是gbk ...

2019-08-07 16:58:00 109

转载 day09 深浅拷贝、异常处理、基本文件处理、绝对路径和相对路径

数据类型分类总结1)按存值个数存一个值: 整型/浮点型/字符串存多个值: 列表/字典/元组/集合2)按有序or无序有序: 字符串/列表/元祖无序: 字典/集合3)按可变or不可变可变: 列表/字典/集合不可变: 整型/浮点型/字符串/元组Python深浅拷贝1)拷贝(赋值)lt = [1, 2, 3]lt2 = ltlt.append(4)print(lt) # [1, 2, 3, 4...

2019-08-06 19:37:00 198

转载 day08 列表、元组、字典、集合内置方法

列表的内置方法:1. 作用描述多个值,比如爱好2. 定义方式hobby_list = ['play', 'swimming', 'dancing', '666']lt = list('nick')3. 内置方法 优先掌握: 1) 索引取值 hobby_list = ['play', 'swimming', 'dancing', '666']print(1, hobb...

2019-08-05 16:16:00 102

转载 day 07 数字类型与字符串类型内置方法

整型作用描述年龄,id定义方式x = 10x = int('10')x = int(10.1)x = int('10.1') # 报错内置方法没有内置方法,只有算术运算和比较运算存一个值还是多个值一个值有序or无序 有序:有索引;无序:无索引压根就没有这一说可变or不可变(重点)​ 数字类型不可变可变与不可变的定义:可变(变量值而言),值变id值...

2019-08-02 17:08:00 74

转载 day06 while、for循环

while 循环重复干一件事情,叫做循环1.while的语法'''while(当) :​ #当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,循环往复'''2.while + break的语法'''while(当) : #当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件break #遇到bre...

2019-08-01 17:28:00 75

转载 day05 格式化输出,基本运算符,if判断

一、格式化输出的三种格式格式化输出: 符合某种规范的print,这种规范叫做:格式化1.第一种格式化方式 3.0举例:s1 = 'nick' # names2 = 'ugly' # qizhis3 = '180' # height要输出以下内容:'name:nick, qizhi:ugly, height:180'可以输入print:print('name:%s, qi...

2019-07-31 16:33:00 71

转载 day04 python常见数据类型

数字类型1)整型(int)作用:表示人的年龄、各种号码、级别定义方式:age=18 #age=int(18)int向下取整age=int(19.95)print(19.95)19使用方法:加减乘除、取余(%)、取整(//)幂(**)、逻辑判断(大于、小于)2)浮点型(float)作用:表示身高、体重、薪资定义方式:salary=2.1 # salary=fl...

2019-07-30 18:24:00 74

转载 day03

变量的基本概念1.什么是变量?描述变化的世间万物的状态。特例,常量:不变的量,常量本质上也是个变量,只不过变量名全大写约定俗成为了常量,以后不要去改变他,举例,AGE = 182.变量的组成变量名(接收变量值)=(赋值符号) 变量值(数值)3.变量的命名规范1)变量名必须由数字/字母/下划线_组成2)变量名都具有可读性,能够表明变量本身代表的含义, 存不是目的,取才是目的...

2019-07-29 15:39:00 73

转载 day2-主要学习内容

1.计算机操作系统1)文件:操作系统提供的虚拟单位2)操作系统:位于计算机硬件与应用软件之间,它是一个协调管理计算机资源和软件资源的控制程序,它把对硬件的复杂操作,封装成一个一个简单的接口,供人们使用。3)应用程序:用程序位于操作系统之上,它主要用来帮助人干各种各样的工作,它不直接与硬件交互4)计算机系统组成部分:硬件,操作系统,应用程序5)操作系统和应用程序的启动流...

2019-07-27 18:28:00 71

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除