- 博客(18)
- 收藏
- 关注
转载 Django进阶之中间件
Django进阶之中间件中间件简介django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件中间件中一共有四个方法:process_requestp...
2018-10-30 16:37:49 123
转载 Python中WSGI接口的理解
Python中WSGI接口的理解Num01–>浏览器动态请求页面流程图这里写图片描述以上图片就是整个浏览器动态请求服务器的全过程。Num02–>什么是WSGI?WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web...
2018-10-30 16:26:50 180
原创 Python 多线程资源共享锁
本文将简单介绍多线程编程中的线程间资源共享和常用的锁机制。在多线程编程中,常常会涉及到线程间的资源共享, 常用资源共享常用方式:全局变量(global)queue(from queue import Queue)Pipe 管道常用的资源共享锁机制:LockRLockSemphoreCondition(一) 线程间资源共享使用全局变量可以实现线程间的资源共享,关键字g...
2018-10-26 10:00:37 2520 1
转载 python协程2:yield from 从入门到精通
这一篇将介绍:协程终止时如何返回值yield新句法的用途和语义同时会用几个协程的示例展示协程用法。让协程返回值先看一个例子:这段代码会返回最终均值的结果,每次激活协程时不会产出移动平均值,而是最后一次返回。#! -*- coding: utf-8 -*-from collections import namedtupleResult = namedtuple('Resul...
2018-10-24 18:10:04 150
转载 服务器端编程之高性能IO模型浅析
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(3)IO多路复用(IO Multiplex...
2018-10-23 22:01:39 183
原创 Python-标准常用包
argparse:在UNIX中,运行命令行程序时常常需要指定各种选项(开关),Python解释器 就是这样的典范。这些选项都包含在sys.argv中,但要正确地处理它们绝非容易。模块 argparse使得提供功能齐备的命令行界面易如反掌。cmd:这个模块让你能够编写类似于Python交互式解释器的命令行解释器。你可定义命令, 让用户能够在提示符下执行它们。或许可使用这个模块为你编写的程序提供用...
2018-10-22 19:55:56 703 1
原创 Python- threading多线程&Queue
Python threading多线程编程+queue实现线程间的变量共享threading:直接调用threading.Thread()创建子线程通过继承threading.Thread,自定义Thread类实现实例化创建子线程queue:queue利用阻塞实现了线程安全创建queue后,利用global关键字在类或者函数内部实现共享import threadingimp...
2018-10-21 19:18:53 1258
转载 socket编程详细介绍
Python 提供了两个基本的 socket 模块。第一个是 Socket,它提供了标准的 BSD Sockets API。第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。下面讲的是Socket模块功能1、Socket 类型套接字格式:socket(family,type[,protocal]) 使用给定的地址族、套接字类型、协议编号(默认为0)来...
2018-10-20 11:32:34 184
原创 Python-元类编程实现ORM
Python实现元类编程主要通过两种方法:type函数metaclass元类动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。(一) type()函数type(name, bases, attrs)name:class的名称;bases:继承的父类集合,以tuple形式传入;attrs:class的方法名称与函数绑定,注:通过t...
2018-10-19 15:22:03 727 3
原创 Python-属性描述符
属性描述符简介描述符对象一般是作为其他类对象的属性而存在。在其内部定义了三个方法用来实现属性对象的查找、设置、删除行为。这三个方法分别是:get(self, instance, owner):定义当试图取出描述符的值时的行为。set(self, instance,value):定义当描述符的设定值或改变时的行为。delete(self, instance):定义当描述符的值被删除时的行...
2018-10-19 10:38:06 998
原创 Python-datetime简单实用
datetime是Python处理日期和时间的标准库。【使用示例:】# 获取当前日期和时间:from datetime import datetimedatetime.now() # datetime.datetime(2018, 10, 18, 13, 40, 30, 829670)# 指定日期和时间dt = datetime(2018, 11, 28, 10, 30) # dat...
2018-10-18 14:03:50 176
原创 Python-常用的两个Hash模块
1. CRYPT模块CRYPT官网【常用方法/常量介绍:】名称类型描述crypt()方法对指定内容进行hash加密methods()方法返回可以用到的加密算法mksalt()方法根据加密算法生成saltMETHOD_MD5常量md5加密算法METHOD_SHA256常量sha256加密算法METHOD_SHA512常量...
2018-10-18 11:27:50 647
原创 Python-利用魔法函数实现上下文管理协议
上下文管理器:with … as …利用__enter__ 和__exit__ 实现上下文管理协议自定义类或者数据类型,实现两个魔术方法,就可以利用with as 上下文管理器来处理。见下图栗子:
2018-10-15 21:51:01 177
原创 Python—子类构造函数调用super().__init__()
如果子类(Puple)继承父类(Person)不做初始化,那么会自动继承父类(Person)属性name。如果子类(Puple_Init)继承父类(Person)做了初始化,且不调用super初始化父类构造函数,那么子类(Puple_Init)不会自动继承父类的属性(name)。如果子类(Puple_super)继承父类(Person)做了初始化,且调用了super初始化了父类的构造函数,那...
2018-10-15 19:25:22 32302 15
原创 python-self、cls、classmethod、staticmethod
【简单阐释】self代表类对象cls代表类本身@classmethod 实现类方法类方法可以通过两种方式调用1,类本身2,类对象@staticmethod实现静态方法1, 类本身2,类对象【代码&图片演示】class A: def __init__(self): pass @classmethod def pr...
2018-10-15 16:36:34 327
转载 MRO算法
原文出处: XYM 【前言】MRO(Method Resolution Order):方法解析顺序。Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中一切皆引用,这使得他不会像C++一样使用虚基类处理基类对象重复的问题,但是如果父类存在同名函数的时候还是会产生二义性,Python中处理这种问题的方法就是MRO。【历...
2018-10-15 14:25:08 1339
原创 __getattr__实现rest api
class Chain(object):def __init__(self, path='api'): self._path = pathdef __getattr__(self, path): # 递归调用 return Chain('%s/%s/' % (self._path, path))def __str__(self): return self....
2018-10-14 10:47:55 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人