摘要: 1、事务的隔离级别 由低到高依次为Read uncommitted(未授权读取、读未提交)、Read committed(授权读取、读提交)、Repeatable read(可重复读取)、Serializable(序列化),这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 (1)Read u 阅读全文
posted @ 2019-11-07 15:38 ليو 阅读(2310) 评论(0) 推荐(0) 编辑
摘要: Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件 阅读全文
posted @ 2019-10-29 19:38 ليو 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 目录 Django项目中的代码如下 APIView源码解析 源码解析总结 Django项目中的代码如下 urls.py中: from django.conf.urls import url from app import views urlpatterns = [ url(r'^test/$', v 阅读全文
posted @ 2019-10-15 20:33 ليو 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 浏览器基础结构 浏览器基础结构主要包括如下7部分: 1.用户界面(User Interface):用户所看到及与之交互的功能组件,如地址栏,返回,前进按钮等; 2.浏览器引擎(Browser engine):负责控制和管理下一级的渲染引擎; 3.渲染引擎(Rendering engine):负责解析 阅读全文
posted @ 2019-10-11 20:28 ليو 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-09-25 08:35 ليو 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 当一个页面被请求时,django就会创建一个包含本次请求原信息的HttpRequest对象。 django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用request参数承接这个对象。 0|11. 请求相关的常用值 path_info: 返回用户访问url, 不包括域名 metho 阅读全文
posted @ 2019-09-18 20:44 ليو 阅读(195) 评论(0) 推荐(0) 编辑
摘要: django request.POST / request.body 当request.POST没有值 需要考虑下面两个要求 1.如果请求头中的: Content-Type: application/x-www-form-urlencoded request.POST中才会有值(才会去request 阅读全文
posted @ 2019-09-18 20:32 ليو 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 1. queryset是查询集,就是传到服务器上的url里面的内容。Django会对查询返回的结果集QerySet进行缓存,这里是为了提高查询效率。 也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,只有在你需要用到这个QuerySet的时候才回去数据库查 阅读全文
posted @ 2019-09-16 17:24 ليو 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 冒号 可以理解为 “匹配” 或 “选取”的意思。 $(":button") 表示匹配所有的按钮。$("input:checked")表示匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。$("div.container")中的'.'号表示class, $("div # 阅读全文
posted @ 2019-09-10 17:04 ليو 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 序言: 来一起看看: 不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理。GC做的事情就是解放程序员的双手,找出内存中不用的资源并释放这块内存。 下面我们来看看Python的GC是怎么做的: Pytho 阅读全文
posted @ 2019-09-05 00:29 ليو 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 1|0CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 2|0CSS语法 2|1CSS实例 每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后 阅读全文
posted @ 2019-09-04 15:59 ليو 阅读(140) 评论(0) 推荐(0) 编辑
摘要: HTML简介 hyper text markup language 即超文本标记语言。 超文本: 就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 标准模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t 阅读全文
posted @ 2019-09-03 21:43 ليو 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123' 阅读全文
posted @ 2019-08-19 17:31 ليو 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 目录 一、树 二、B+树 2.1 B+树性质 三、聚集索引和辅助索引 3.1 聚集索引 3.2 辅助索引 3.3 聚集索引和非聚集索引的区别 四、再看B+树 4.1 B+树的插入操作 4.2 B+树的删除操作 一、树 二、B+树 2.1 B+树性质 三、聚集索引和辅助索引 3.1 聚集索引 3.2 阅读全文
posted @ 2019-08-17 15:09 ليو 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 基本概念 1.进程 定义: 进程就是一个程序在一个数据集上的一次动态执行过程。 组成: 进程一般由程序、数据集、进程控制块三部分组成。 程序: 我们编写的程序用来描述进程要完成哪些功能以及如何完成; 数据集: 则是程序在执行过程中所需要使用的资源; 进程控制块: 用来记录进程的外部特征,描述进程的执 阅读全文
posted @ 2019-08-16 18:48 ليو 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1.并发和并行的区别 并发:当有多个线程在操作时,如果系统只有一个CPU,把CPU运行时间划分成若干个时间段,分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状态。这种方式我们称之为并发(Concurrent)。并发=间隔发生 并行:当系统有一个以上CPU时,则线程的操作有可能非并 阅读全文
posted @ 2019-08-12 21:19 ليو 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 1 主进程,父进程和子进程之间的关系 父子进程之间的定义:当一个进程创建一个或多个子进程时,那么这个进程可以称之这些进程的父进程, 他们之间是父子关系,也可以说是继承关系,子进程会继承父进程的属性。 进程是一个资源单位,在进程创建的过程,系统会自动为其开辟一块独立的内存空间。因此,在子进程的创建的过 阅读全文
posted @ 2019-08-12 21:03 ليو 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 常见异常: AttributeError 试图访问一个对象没有的树形, 阅读全文
posted @ 2019-08-04 15:57 ليو 阅读(97) 评论(0) 推荐(0) 编辑
摘要: Python模块学习 - Paramiko 阅读目录 简介 Paramiko介绍 Paramiko的基本使用 SSHClient常用的方法介绍 SSHClient常用的方法举例 SFTPClient常用方法介绍 SFTPClient常用方法举例 Paramiko的综合使用例子 参考资料 回到顶部 简 阅读全文
posted @ 2019-08-04 14:07 ليو 阅读(353) 评论(0) 推荐(0) 编辑
摘要: datetime模块 datetime模块提供了一些处理日期和时间的标准库。常用的有 datetime timedelta timezone 构造一个datetime对象 datetime() datetime.datetime(year, month, day, hour=0, minute=0, 阅读全文
posted @ 2019-08-03 23:43 ليو 阅读(345) 评论(0) 推荐(0) 编辑
摘要: python-反射 2019年07月17日 20:20:54 审视 阅读数 200000 目录 一.概念 1.python面向对象中的反射: 2.四个反射相关的函数 二.介绍反射的方法 (1)hasattr判断是否有此变量,返回bool 值 (2)getattr获取属性值或者获取方法变量的地址 (3 阅读全文
posted @ 2019-08-03 23:41 ليو 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 阅读目录(Content) 单例模式 实现单例模式的几种方式 1.使用模块 2.使用装饰器 3.使用类 4.基于__new__方法实现(推荐使用,方便) 5.基于metaclass方式实现 相关知识 实现单例模式 回到顶部(go to top) 单例模式 单例模式(Singleton Pattern 阅读全文
posted @ 2019-07-31 01:07 ليو 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 阅读目录(Content) 一、 type() 1、创建类的两种方式 方式一 方式二 二、元类(metaclass) 使用metaclass的两种方式 方式一:即用类的形式 方式二:用函数的形式 metaclass 原理 1.基础 2.查找顺序 三、 __init__,__new__,__call_ 阅读全文
posted @ 2019-07-31 01:01 ليو 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建、初始化、使用、垃圾回收,不同的阶段由不同的方法(角色)负责执行。 定义一个类时,大家用得最多的就是 __init__ 方法,而 __new__ 和 __call__ 使用得比较少,这篇文章试图帮助 阅读全文
posted @ 2019-07-31 01:00 ليو 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 1 class A(object): 2 def __init__(self,*args, **kwargs): 3 print "init A" 4 def __new__(cls,*args, **kwargs): 5 print "new A %s"%cls 6 #return super(A 阅读全文
posted @ 2019-07-30 21:15 ليو 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 基本概念 Class 类一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备的属性(variables(data))、共同的方法 Object 对象 一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同 阅读全文
posted @ 2019-07-28 14:17 ليو 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1.1.鸭子类型和多态 “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。 实例一: # 鸭子类型和多态简单实例 class Dog(object): def say(self): print('a d 阅读全文
posted @ 2019-07-28 14:16 ليو 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 常用快捷键 快捷键功能 Ctrl + Q 快速查看文档 Ctrl + F1 显示错误描述或警告信息 Ctrl + / 行注释(可选中多行) Ctrl + Alt + L 代码格式化 Ctrl + Alt + O 自动导入 Ctrl + Alt + I 自动缩进 Tab / Shift + Tab 缩 阅读全文
posted @ 2019-07-25 18:13 ليو 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 阅读目录 一、什么是面向过程、面向对象的程序设计 二、类和对象 三、属性查找 四、继承和派生 五、多态和封装 六、绑定方法与非绑定方法 七、Python中关于OOP的常用术语 八、类的装饰器(简单补充) 九、metaclass 回到顶部 一、什么是面向过程、面向对象的程序设计 面向过程的程序设计:核 阅读全文
posted @ 2019-07-24 23:21 ليو 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1 浅拷贝 l1 = [1,2[1,2]] l1 = [1, 2, [1,2]] # 分析深浅拷贝 浅拷贝对于不可变的是的数据类型是指针指向沿用原来的,对可变的数据类型还是沿用原来的对象,所以对外不可变的数据类型不会相互改变这一点和 深拷贝也是一样的,而不同的是浅拷贝对于可变的数据类型是沿用而不是重 阅读全文
posted @ 2019-07-23 08:38 ليو 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 configparse模块 logging模块 认识模块 返回顶部 什么是模块 什么是模块? 常见的场景: 阅读全文
posted @ 2019-07-22 08:43 ليو 阅读(159) 评论(0) 推荐(0) 编辑
摘要: hashlib模块 加密的模块 import hashlib # 这个加密的过程是无法解密的 md = hashlib.sha3_256() # 生成一个帮你造密文的对象 # md.update('hello'.encode('utf-8')) # 往对象里传明文数据 update只能接受bytes 阅读全文
posted @ 2019-07-19 19:22 ليو 阅读(106) 评论(0) 推荐(0) 编辑
摘要: import os import sys BASEDIR = os.path.dirname(os.path.dirname(__file__)) PATH = os.path.join(BASEDIR, 'db') sys.path.append(PATH) import logging.conf 阅读全文
posted @ 2019-07-19 19:06 ليو 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 常用模块 阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 configparse模块 logging模块 认识模块 返回顶部 什么是模块 什么是模块? 常 阅读全文
posted @ 2019-07-18 23:35 ليو 阅读(150) 评论(0) 推荐(0) 编辑
摘要: OS 模块 #os模块就是对操作系统进行操作,使用该模块必须先导入模块: import os #getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) result = os.getcwd() print(result) #chdir()改变当前工作目录 os.chdir(' 阅读全文
posted @ 2019-07-18 23:24 ليو 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 正则表达式 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 正则表达式是用来匹配处理字符串的 python 中使用正则表达式需要引入re模块 如: i 阅读全文
posted @ 2019-07-18 23:14 ليو 阅读(540) 评论(0) 推荐(0) 编辑
摘要: re模块 讲正题之前我们先来看一个例子:https://reg.jd.com/reg/person?ReturnUrl=https%3A//www.jd.com/ 这是京东的注册页面,打开页面我们就看到这些要求输入个人信息的提示。假如我们随意的在手机号码这一栏输入一个11111111111,它会提示 阅读全文
posted @ 2019-07-17 16:11 ليو 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 为什么要设计好目录结构? 主要是两个方面: 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处 阅读全文
posted @ 2019-07-16 21:36 ليو 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1 模块 一系列功能的集合体 别人:系统内置的 第三方模块 自己:自己写的模块或自己写的py文件 1 用别人写好的模块可以极大提高开发效率 2 当自己写代码较多的时候,如果将全部代码放在一个文件下,不利于我们的查找,也不利于我们的修改,这时候我们应该分成多个py文件。一个py文件就是一个模块,使用模 阅读全文
posted @ 2019-07-16 21:33 ليو 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1 迭代器 迭代的定义:迭代是一个重复的过程,不同于其他纯粹的重复,迭代的每一次结果都是基于上一次迭代的结果产生的。 迭代器就是一个可以进行迭代取值的工具 作用:给我们提供了一种不依赖索引取值的方式 补充:针对双下划线开头,双下滑线结尾的方法 推荐读:双下+方法名 2 可迭代对象 内置有__iter 阅读全文
posted @ 2019-07-16 00:29 ليو 阅读(135) 评论(0) 推荐(0) 编辑