自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 五十四、mysql数据库8:MySQL内置函数 — 日期时间函数、加密sha1

一、日期时间函数1、获取子值2、日期计算,使用+-运算符,数字后面的关键字为year、month、day、hour、minute、second3、日期格式化date_format(date,format)4、当前日期current_date()5、当前时间current_time()6、当前日期时间now()7、小应用:...

2018-08-26 15:47:04 856

原创 五十三、Redis数据库3:使用pycharm软件写命令操作redis

一、参考学习:PyPI:https://pypi.python.org/pypi/redisGitHub:https://github.com/andymccurdy/redis-py1、(重点学习)文档:http://redis-py.readthedocs.io/en/latest/2、安装redis 模块Windows下:python3 -m pip install re...

2018-08-26 14:26:25 1226

原创 五十二、Redis 数据库 2:set类型、zset类型、hash类型

一、set集合类型(无序集合类型)redis里面的set集合类型是string类型的无序集合,被称为无序集合类型。set元素最大可以包含(2的32次方-1)个元素。1、集合满足三个特点:无序性:集合里面的数据是没有顺序之分。唯一性:集合里面的数据彼此是不能重复。确定性:集合里面的数据的个数是确定的。2、该类型应用场合:qq好友推荐3、sadd向集合里面添加元素:...

2018-08-25 22:30:27 721

原创 五十一、Redis数据库1:Redis数据库string类型、 list链表类型

一、数据库连接直接本机连接:redis-cli连接虚拟机:  redis-cli  -h  虚拟机ip地址 -p  6379二、相关操作Redis:内存缓存,key/value形式的1、设置key及value注意:username这个key没有的话会创建,有的话,就会覆盖。2、获取key及value3、incr做自增操作,可以对某个key的value进行+1...

2018-08-25 21:57:02 296

原创 五十、MongoDB数据库2:Python操作MongoDB数据库

一、安装pymongo库pymongo是操作MongoDB的python模块Python2的安装方法:python2 -m pip install pymongoPython3的安装方法:python3 -m pip install pymongolinux下的安装方法: sudo python3 -m pip install  pymongo二、插入数据:1、插入一条数据...

2018-08-25 20:28:05 261

原创 四十九、MongoDB数据库1:MongoDB的增、删、改、查

一、连接数据库如果只在windows下使用:进入数据库命令:mongo如果windows要连接虚拟机(服务器),命令:mongo  服务器IP地址:27017Mongodb ‘无状态模式’,不用去设计,直接用,存什么东西,取决于前边传什么,后边就存什么。中文文档:http://docs.mongoing.com/英文文档:https://docs.mongodb.com/man...

2018-08-25 20:09:43 624

原创 四十八、mysql数据库7:Mysql与python的交互、参数化(重点python与mysql交互传参)

一、使用python命令连接数据库流程二、python3 安装pymysql包创建py文件,进行插入数据:通过python文件来连接数据库实现交互(前提需要安装pymysql包)1、Linux下安装pymysql包在python3的环境下安装pymysql包:pip3 install pymysql进行安装。提示升级可使用命令更新:更新完再安装一下2、Win...

2018-08-25 19:16:38 4766

原创 四十七、mysql数据库6:(重点)视图、事务、索引

一、视图1、创建视图,建议以v_开头,查询所有学生信息2、查看视图:查看表会将所有的视图也列出来3、使用:视图的用途就是查询4、删除视图二、(重点)事务1、事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,...

2018-08-25 18:58:22 188

原创 四十六、mysql数据库5:(重点)商城数据库优化(三范式,细分表)、数据备份与还原

一、创建商品分类表:(分开插入数据的)1、创建 goods_cates 表#创建表if 用法: 如果不存在创建,存在报错create table if not exists goods_cates(cate_id int unsigned primary key auto_increment, cate_name varchar(40));      2、将刚刚查询的数据插入到...

2018-08-25 18:00:23 313

原创 四十五、mysql数据库4:MySQL高级查询

一、连接查询操作:mysql支持三种类型的连接查询,分别为:内连接、右连接、左连接。注意:一个数据库中如果有多个表的话,表名是不能省略的。1、使用内连接查询班级表与学生表(inner join)on后面跟着连接查询的条件:select students.name,classes.name from students inner join classes on stu...

2018-08-25 17:37:27 246

原创 四十四、mysql数据库3:MySQL各种查询命令

一、查询的命令1、查询所有信息: select * from 表名 ;2、也可以这样查,查详细点:数据库.表名 .*3、数据库的名字省略的前提是:你当前所选择的数据库就是该数据库,因此要选择相应的数据库里的表。4、查询表中的部分字段信息: ① 详细查询:② 在当前表中可省略表名,直接查询:5、给表起别名  —  用as ① 这种形式的:前面的也需要修改:...

2018-08-18 17:03:40 411

原创 四十三、mysql数据库2:插入、更新、删除数据

一、插入数据1、全列插入:(必须一一对应)① 注意:为主键以及自动增长的id字段的值进行占位有3种方法【0】和【null】和【default】。         #全列插入——中间用,分开,一一对应起来,         #【0】和【null】和【default】都是占位符。 生日必须加""         #可分别插入数据,也可一次性插入数据         insert...

2018-08-18 16:36:51 424

原创 四十二、mysql数据库1:数据库初识、数据库与数据库表的相关操作

一、关系型数据库当前主要使用两种类型的数据库:【关系型数据库】和【非关系型数据库】所谓的关系型数据库RDBMS是建立在关系模型基础之上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。1、关系型数据库核心元素数据行(记录)数据列(字段)数据表(数据行的集合)数据库(数据表的集合)2、关系型数据库的主要产品:Oracle:在以前的大型项目中使用,银行、...

2018-08-18 16:12:50 323

原创 四十一、TCP网络:TCP的服务端和客户端、TCP 多进程、多线程 服务器

一、TCP服务器代码的编写1、改成桥接模式:能通信2、网络调试助手要选择TCP Client(客户端)、服务器和端口号要填写服务器的(虚拟机的)          3、服务端代码如下: 二、TCP客户端代码的编写1、在虚拟机上运行代码(与服务端代码是两个文件)2、可与网络调试助手通信(调试助手当做服务端,在虚拟机上运行代码当客户端,运行的代码必须写上ip地址),...

2018-08-16 21:14:36 722

原创 四十、Udp网络2:模拟QQ聊天功能、Udp总结和广播实例

一、模拟QQ聊天功能1、echo服务器原理     收到了数据,再给人原封不动的返回去,这样的服务器就叫做echo服务器。2、模拟QQ聊天-多线程+Udp网络     在虚拟机上运行程序,在网络调试助手回应虚拟机二、udp总结和广播实例 广播只能在udp中使用,tcp中使用不了 1. udp是TCP/IP协议族中的一种协议,能够完成不同机器上的程序间的数据通...

2018-08-15 20:42:56 699

原创 三十九、Udp网络1:使用socket 发送、接收数据,绑定端口和中文编码解码问题

一、初识Udp网络发送数据(1)前提:必须要保证他们在同一个局域网中,要在一个网段才行        NetAssist.ext软件是用来协助我们完成网络请求:        网络设置:填写的是自己电脑上的IP地址。        目标主机和目标端口:填写的是你要给谁发送的那个人的ip地址和端口号。        发送的内容:在那个大白框中进行填写。    1、网络调试助手...

2018-08-15 20:29:33 4543 1

原创 三十八、协程

一、协程1、协程其实可以认为是比线程更小的执行单元2、多进程和多线程的执行效率,没有协程高。     但是写代码还是协程用的少,因为代码逻辑较复杂。多用进程、线程。3、计算机密集型===》需要占用大量的cpu资源,用多进程     IO密集型===》需要网络功能,大量的时间都在等待网络数据的到来,用多线程、协程4、协程 — 完成多任务,协程的底层就是用生成器做的 ...

2018-08-14 20:11:41 134

原创 三十七、线程(重点):创建线程、线程共享全局变量、互斥锁(知道原理)

一、创建线程(1)线程导包的两种方式:(2)   1、多个线程执行同一个函数,线程之间互不影响,并且主线程与子线程之间也互不影响,各自执行各自的代码   2、进程里面包含线程    ——       进程是资源分配的单位,线程是CPU调度的单位。         进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ         线程,能够完成多任务,比如 一...

2018-08-14 20:07:23 1415

原创 三十六、进程2(重点):进程池Pool、进程间通信(队列、栈)、多进程拷贝文件(综合运用)

一、进程池Pool1、apply_async (func , args , kwds)   非阻塞方式     apply(func,args,)  阻塞方式使用非阻塞方式调用函数(并行执行,进程间同步执行)堵塞方式必须等待上一个进程退出才能执行下一个进程(相当于单进程执行)args为传递给func的参数列表,kwds为传递给func的关键字参数列表;2、close():关...

2018-08-13 20:49:48 275

原创 三十五、进程1:fork创建子进程(不常用)、Process创建子进程(常用)

一、fork创建子进程(不能跨平台,只在Linux下执行,windows下不执行)         编写完毕的代码,在没有运行的时候,称之为程序,     正在运行着的代码,就成为进程         进程,除了包含代码以外,还有需要运行的环境等,所以和程序是有区别的1、主进程从一开始导入import os 开始执行,子进程从os.fork()创建出开始进行,会分开各自执行各自的代码,...

2018-08-10 20:51:43 2302

原创 三十四、正则表达式3:匹配分组(重点)以及 search、findall、sub、split方法介绍

一、匹配分组1、| 匹配左右任意一个表达式 (|  或者的意思,匹配字符串整个内容的)需求:匹配出0-100之间的数字可以改进一下:2、(ab)将括号中字符作为一个分组,可单独拿出来① 进行group()的时候是得到的整个匹配的内容    group()方法添加参数,例如group( 1 )   可单独拿出第一个分组内的内容    (参数0,写上和不写一样,...

2018-08-10 20:16:23 3543

原创 三十三、正则表达式2:r—转义、边界($、^、\b、\B)

一、转义  使用 r 能够自动转义\t、\n来理解转义:打印时本来是输不出\n的,加上r后自动转义,相当于\\nabc总结:1、r的意思是说:它是英文单词raw的一个缩写,也就是说当你在定义这个字符串的时候它是什么样的,最终在输出打印的时候     就是什么样的,中间转义的过程python帮我们实现了。2、例如:re.match(r"[a-z0-9][a-z0-...

2018-08-09 20:32:06 8272

原创 三十二、(重点)正则表达式1:re模块(re.match、group())、正则表达式单字符匹配、正则数量({m}、{m,n})

一、re模块(re.match、group()方法)1、2、re.match() 能够匹配出以xxx开头的字符串(从左到右开始依次匹配)3、若匹配成功,返回字符串的匹配成功的部分,同时可以使用group方法来提取具体的数据。二、正则表达式的单字符匹配(只匹配1个字符)1、. 匹配任意1个字符(除了\n都能匹配)——(例如#、?都能匹配)校验一下你字符串当中够...

2018-08-09 19:37:10 6241

原创 三十一、迭代器、iter()函数

一、凡是可作用于 for 循环的对象都是 Iterable(可迭代的对象) 类型一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等;一类是 generator ,包括生成器和带 yield 的generator function。都是可迭代对象二、凡是可作用于 next() 函数的对象都是 Iterator(迭代器) 类型       生...

2018-08-09 10:11:18 271

原创 三十、列表生成式、生成器、__next__()、send(传参)

一、列表生成式(几种形式记住)1、for只控制循环的次数,而for前面的变量决定着数据的内容,这就叫做列表生成式。2、后面加判断句的,也常见 3、4、二、生成器(保存是算法,generator)1、生成器的特点:只是保存了生成列表数的一个算法,什么时候需要用,就next() 调用。(1)创建生成器方法1:简单,只要把一个列表生成式的 [ ] 改成...

2018-08-07 17:50:49 333

原创 二十九、重点:__new__方法、单例模式(工厂模式)

一、__new__方法1、真正在实例化对象的时候第一个执行的方法是__new__2、若__new__没有正确返回当前类cls的实例,那__init__是不会被调用的。3、正确的返回当前类:return object.__new__(cls)4、总结:Python的new方法负责创建,init方法负责初始化。二、单例模式不管创建多少次,仅仅只有一个对象,这样模式就叫做...

2018-08-07 15:29:18 245

原创 二十八、闭包(装饰器的底层原理)、装饰器的引入、深入学习、带参数的装饰器

一、闭包的原理、结构二、装饰器的引入一句话总结:生成器是用来生成东西的,装饰器是用来装饰东西的。1、定义了两个名称一样的函数(重写):只执行重写的函数2、运行原理:把f1首地址(也可以记成把f1整个函数)传参给了w1方法的func,这时func=f1的首地址,开始执行w1方法,先直接return  inner ;这时候因为@w1 相当于f1=w1(f...

2018-08-06 20:18:04 284

原创 二十七、is 、==号的区别以及 浅拷贝与深拷贝的使用

一、(1)is  ==  区别==:用来判断a和b指向的空间里的内容是否一样(比较的值)(a==b)is:用来判断a和b是否指向的是同一块内存空间(a   is  b)id(a)  ——查看a的内存地址总结:==判断两个变量的值(也就是比较两个对象是否相等,是比较的值);          is判断两个变量的内存地址是否一致,返回True/False (也就是比较两个引用是...

2018-08-06 14:51:52 330

原创 随笔—吐槽生活学习,今天周六,看不下去代码了,放松一下

随笔记:      周六了,周六了,今天性质不高,不想看代码了,换个心情,放松下心情。想到啥说点啥吧!      最近烦心事比较多,天又热,有时候写项目感觉自己一无是处,没有逻辑性,有时候又一看就懂,突感代码这个东西很神奇,也很坑。我莫名其妙的进入了IT行业,成为一名程序员。       现在回想一下,还是很神奇的。当初从电子专业转行去学代码,学过c#,c语言,Unity 3D,jav...

2018-08-04 20:55:46 509

原创 二十六、面向对象6:property的使用与私有化的进升(get、set、方法变成属性)—记住写法

一、将方法变成属性去使用(1)@property是可以将方法变成属性去使用。(2)(3)通过上面总结如下:tt.num 后面不写等于什么的:就是调用get方法。tt.num后面写着等于一个值:就是调用set方法。因为当成变量使用,所以赋值用=号 ...

2018-08-03 20:46:07 240

原创 二十五、面向对象5:python动态添加属性及方法、__slots__的作用

一、python是动态语言动态语言目前非常具有活力。例如JavaScript便是一个动态语言,除此之外如 PHP 、 Ruby 、 Python 等也都属于动态语言,而 C 、 C++ 等语言则不属于动态语言。原先定义a的时候是一个数字类型的,现在让a保存的是一个函数,这就是动态语言的特点。二、dir(对象)查看该对象身上所有的属性和方法(包括所有自带的)三、运行的...

2018-08-03 11:22:17 487

原创 二十四、模块、if__name__=="__main__":、包、__init__.py的作用、模块的发布安装

一、模块的介绍(必须导入import  模块名)1、random模块:用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b需要导入这个模块才可以使用这个函数:2、os模块__file__ 是用来获得模块所在的路径的二、在python3安装pygame模块:sudo  pip3  install  py...

2018-08-02 21:38:20 266

原创 二十三、面向对象4—类属性、实例属性、类方法、实例方法、静态方法

一、类属性1、类的属性有两种用法:一种是实例的名.类属性名,另外一种是类的名字.类属性名2、目前为止我们所学过的,只要是私有的,只能在类的里面使用,不能在类的外面去使用,也不能被继承下来,也就是说不能在子类中使用私有的。二、实例属性1、实例属性不是必须在类中显示定义的,然后才可以使用的。在类外对类对象people进行实例化之后,产生了一个实例对象p,然后p.age = ...

2018-08-02 20:30:15 588

原创 二十二、异常处理 try---except---else

一、异常   try —except1、try里面有异常的话,就会被except捕获到,如果try里面没有异常的话,就不会执行except2、except Exception as e:     ——Exception包含了所有的异常,把捕获的异常给了e (error错误的缩写)3、Exception包含了所有的异常。二、try---except---else1、try...

2018-08-01 20:19:45 2065

空空如也

空空如也

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

TA关注的人

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