随笔分类 - Python
摘要:超时函数 这个函数的作用在于可以给任意可能会hang住的函数添加超时功能,这个功能在编写外部API调用 、网络爬虫、数据库查询的时候特别有用 timeout装饰器的代码如下: 使用: Trace函数 有时候出于演示目的或者调试目的,我们需要程序运行的时候打印出每一步的运行顺序 和调用逻辑。类似写ba
阅读全文
摘要:MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下。 文档中的介绍在这里: map(function, iterable, ...) Apply function to every item of iterable and re
阅读全文
摘要:本文转载地址: http://cenalulu.github.io/python/gil-in-python/ GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译
阅读全文
摘要:1.列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 2.举例说明: 结果: 3.总结: Python的列表推导式通过for 语句处理表达式里面的变量,如果还要加条件,就加if条件就可以了。
阅读全文
摘要:1.models下面添加权限控制信息: 2.配置别名关联的URL: 3.app下创建权限文件,根据配置的URL修改permissions.py: 4.前端配置别名url的a标签: 5.permission文件下添加装饰器: 6.将权限与限制关联,permission文件下: 7.在想要权限限制的方法
阅读全文
摘要:models.py views.py 前端页面:
阅读全文
摘要:在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。 关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单: 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 对于HTML元素我们自己自定义的
阅读全文
摘要:一、Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的
阅读全文
摘要:最新版本的RabbitMQ有四种交换机类型,分别是Direct exchange、Fanout exchange、Topic exchange、Headers exchange。 它处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到
阅读全文
摘要:Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议、线程、数据库管理、网络操作、电子邮件等。 事件驱动简而言之,事件驱动分为二个部分:第一,注册事件;第二,触发事件。 Protocols Protocols描述了如何以异步的方式处理网络中的事件。HTTP、DNS以及IMAP是
阅读全文
摘要:#_*_coding:utf-8_*_ #这是一个echo server,客户端消息,服务端回复相同的消息 import select, socket, sys, queue # Create a TCP/IP socket server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #对socket进行实例化,拿到server句柄 ...
阅读全文
摘要:一、进程与线程区别 1.1 什么是线程 1.2 什么是进程 1.3 进程与线程的区别 二、Python GIL全局解释器锁 三、线程 3.1 threading模块 3.2 Join & Daemon 3.3 线程锁(互斥锁Mutex) 3.4 RLock(递归锁) 3.5 Semaphore(信号
阅读全文
摘要:面向对象编程(OOP,Object Oriented Programming) OOP三个主要的特征:数据封装、继承和多态。 所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,提高复用率。 面向对象编程是一种编程方式,
阅读全文
摘要:一、文件操作: 1. 文件写入模式: os.mknod("test.txt") 创建空文件 f1 = open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 关于open 模式: w 以写方式打开, a 以追加模式打开 r+ 以读写模式打开 w+ 以读写模式打开 a+ 以读
阅读全文
摘要:文章目录: 1. time & datetime模块 2. os模块 3. random模块 4. sys模块 5. hashlib模块 6. json模块 7. shutil模块 8. logging模块 9. paramiko模块 10. subprocess模块 11. ConfigParse
阅读全文
摘要:装饰器自身就是一个函数,它是在函数上调用的装饰,也可以说用一个函数(装饰器)来”装饰”另一个函数。在代码中以@表示,很明显的是在某个函数之上出现了@,就说明装饰器装饰了其函数。重点来了,那么它为什么叫做装饰器呢? 以上代码中,extend_login 就是装饰器的名称,它是一个函数,接收func作为
阅读全文
摘要:对于数字、字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy").center(60,'*') print(num,id(num)) print(copy_num,id(copy_nu
阅读全文
摘要:元组(tuple)特点: 1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问 2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作) 3.支持任意类型,任意嵌套以及常见的序列操作 4.元组通常用在
阅读全文