摘要:整个集合大概是按照难易程度排序,简单常见的在前面,比较少见的在最后。 1.1 拆箱 >>> a, b, c = 1, 2, 3 >>> a, b, c (1, 2, 3) >>> a, b, c = [1, 2, 3] >>> a, b, c (1, 2, 3) >>> a, b, c = (2 *
阅读全文
摘要:我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。程序是运行在系统上的具有某种功能的软件,比如说浏览器,音乐播放器等。现代操作系统,比如Mac OS X,Unix,Linu
阅读全文
摘要:在Python中,对函数和方法都有明确的规定: 函数function A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may
阅读全文
摘要:源码:class cached_property(object): """ Decorator that converts a method with a single self argument into a property cached on the instance. Optional ``
阅读全文
摘要:线程与进程 进程: 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序侧是具有某种功能的程序,程序是运行于操作系统之上的。 (为了缓解头脑胀痛, 斜体字大体过一遍即可) 进程是一个具有一定独立功能的程序
阅读全文
摘要:一、CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。 分布式系统的CAP理论:理论首先把分布式系统中的三
阅读全文
摘要:秒杀:秒杀是通常意味着要在很短的时间处理极高的并发,系统在短时间需要承受平时百倍以上的流量,因此秒杀架构是一个比较复杂的问题,其核心思路是流量控制和性能优化,需要从前端(通过JavaScript实现倒计时、避免重复提交和限制频繁刷新)到后台各个环节的配合。流量控制主要是限制只有少部分流量进入服务后端
阅读全文
摘要:array = [1, 3, 5] g = (x for x in array if array.count(x) > 0) g为生成器,list(g)后返回[1,3,5],因为每个元素肯定至少都出现一次。所以这个结果这不足为奇。但是,请看下例: array = [1, 3, 5] g = (x f
阅读全文
摘要:创建一个类SE: class SE(object): def __init__(self): print('init') def __del__(self): print('del') 创建两个SE实例,使用is判断: In [63]: SE() is SE() init init del del
阅读全文
摘要:In [1]: a = 'something' ...: b = 'some'+'thing' ...: id(a)==id(b) Out[1]: True 如果上面例子返回True,但是下面例子为什么是False: In [1]: a = '@zglg.com' In [2]: b = '@zgl
阅读全文
摘要:Class也是Object 在理解metaclass之前,我们需要先理解Python中的class。从某种程度上来说,Python中的class的定位比较特殊。 对于大部分面向对象语言来说,class是一段定义了如何产生object的代码块。在Python中这一定义也成立: >>> class ex
阅读全文
摘要:eval:可以把字符串里的字符转换为可执行代码,但只支持一行字符。可以返回执行后得到的值。如下: f = "3+6+9+8" s = eval(f) print(s) 输出: "C:\Program Files\python3\python3.exe" D:/codes_py3/luhy_tool/
阅读全文
摘要:当一个类需要创建大量实例时,可以通过__slots__声明实例所需要的属性, 例如,class Foo(object): __slots__ = ['foo']。这样做带来以下优点: 更快的属性访问速度 减少内存消耗 Slots的实现 我们首先来看看用纯Python是如何实现__slots__(为了
阅读全文
摘要:logger.debug("render : \033[1;34m{0}, {1}\033[0m".format(self.file_path, request.__dict__)) 书写格式: 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 注意:开头部分的三个参数:
阅读全文
摘要:一个Python字典表达式谜题 让我们探究一下下面这个晦涩的python字典表达式,以找出在python解释器的中未知的内部到底发生了什么。 # 一个python谜题:这是一个秘密 # 这个表达式计算以后会得到什么结果? >>> {True: 'yes', 1: 'no', 1.0: 'maybe'
阅读全文
摘要:with 语法 平常在写Python代码的时候,经常会用到with 来处理一个上下文环境,比如文件的打开关闭,数据库的连接关闭等等。 with语法的使用,需要我们处理的对象实现__enter__和__exit__两个魔术方法来支持。__enter__函数处理逻辑函数之前需要做的事情,并返回操作对象作
阅读全文
摘要:因为项目用的python3.5,字典还是无序的,所以需要把OrderedDict捡一捡。 1.创建有序字典 import collections dic = collections.OrderedDict() dic['k1'] = 'v1' dic['k2'] = 'v2' dic['k3'] =
阅读全文
摘要:最近项目中需要与管易云erp做对接,看了他的接口文档,php的示例代码,于是用python仿写。 其中传的参数data中前面几个json数据是固定的,最后需要加一个签名,该签名是对前面的json数据字符串化后,首尾拼接上screct字符串,再做md5处理(32位大写),再将该签名添加到之前的json
阅读全文
摘要:动态添加协程 在实战之前,我们要先了解下在asyncio中如何将协程态添加到事件循环中的。这是前提。 如何实现呢,有两种方法: 主线程是同步的 import time import asyncio from queue import Queue from threading import Threa
阅读全文
摘要:上一节我们首先介绍了,如何创建一个协程对象.主要有两种方法 通过async关键字, 通过@asyncio.coroutine 装饰函数。 然后有了协程对象,就需要一个事件循环容器来运行我们的协程。其主要的步骤有如下几点: 将协程对象转为task任务对象 定义一个事件循环对象容器用来存放task 将t
阅读全文