12 2017 档案
摘要:搜索是大数据领域里常见的需求。Splunk和ELK分别是该领域在非开源和开源领域里的领导者。本文利用很少的Python代码实现了一个基本的数据搜索功能,试图让大家理解大数据搜索的基本原理。 布隆过滤器 (Bloom Filter) 第一步我们先要实现一个布隆过滤器。 布隆过滤器是大数据领域的一个常见
阅读全文
摘要:区块链 它是比特币或其他加密货币进行交易的数字账本,账本按时间顺序记录并对外公开。 在更一般的术语中,它是一个公共数据库,新数据存储在一个名为块的容器中,并被添加到一个不可变链(后来的区块链)中添加了过去的数据。在比特币和其他加密货币的情况下,这些数据是一组交易记录。当然,数据可以是任何类型的。 区
阅读全文
摘要:18. Python如何实现单例模式?其他23种设计模式python如何实现? Python有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式:1.class Singleton(type):def __init__(cls, name, bases, dict):super(Si
阅读全文
摘要:均匀大小的块 1 2 3 4 1 2 3 4 5 6 7 8 9
阅读全文
摘要:一、介绍 qqbot 是一个用 python 实现的、基于腾讯 SmartQQ 协议的 QQ 机器人,可运行在 Linux 、 Windows 和 Mac OSX 平台下。 本项目 github 地址: https://github.com/pandolia/qqbot 你可以通过扩展 qqbot
阅读全文
摘要:MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所
阅读全文
摘要:阅读目录 语法 通过位置 通过关键字 通过对象属性 通过下标 填充和对齐 精度和类型f 进制转化 千位分隔符 阅读目录 语法 通过位置 通过关键字 通过对象属性 通过下标 填充和对齐 精度和类型f 进制转化 千位分隔符 python自2.6后,新增了一种格式化字符串函数str.format(),威力
阅读全文
摘要:1、csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比 较广泛的(Kaggle上一些题目提供的数据就是
阅读全文
摘要:random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.random random.random()用于生
阅读全文
摘要:1. 介绍性能分析器 作者:btchenguang profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述。Python中含有3个模块提供这样的功能,分别是cProfile, profile和pstats。这些分析器提供的是对Python程序的确定性分析。同时也提供
阅读全文
摘要:程序运行慢的原因有很多,比如存在太多的劣化代码(如在程序中存在大量的“.”操作符),但真正的原因往往是比较是一两段设计并不那么良好的不起眼的程序,比如对一序列元素进行自定义的类型转换等。因为程序性能影响是符合80/20法则的,即20%的代码的运行时间占用了80%的总运行时间(实际上,比例要夸张的多,
阅读全文
摘要:解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如: first, seconde, *rest = sequence 如果sequence里至少有三个元素,那么执行完上述代码后,first == sequence[0], sec
阅读全文
摘要:MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所
阅读全文
摘要:异常 异常即非正常状态,在Python中使用异常对象来表示异常。若程序在编译或运行过程中发生错误,程序的执行过程就会发生改变,抛出异常对象,程序流进入异常处理。如果异常对象没有被处理或捕捉,程序就会执行回溯(Traceback)来终止程序。 异常类型 通用异常类型表 Exception类:是通用异常
阅读全文
摘要:从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。 《Dive into Python》并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下。今天下载《L
阅读全文
摘要:yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: 1 2 3 def addlist(alist): for i in alist: yield i + 1 def addl
阅读全文
摘要:在编码中牵扯到时间问题的时候,总是容易被时区问题搞混,一直以来,都是反复试验应付过去,今天终于搞清楚了个中缘由,一个心结也得以化解。 Python 的时区问题 datetime.today() / datetime.now() 这两个函数获得的是当前的系统时间,但得到的datetime对象中的tzi
阅读全文
摘要:Django 模板中使用css, javascript (r'^css/(?Ppath.*)$', 'django.views.static.serve', {'document_root': '/var/www/django-demo/css'}), (r'^js/(?P/pathpath.*)$
阅读全文
摘要:首先我们先理一下微信的实现思路,来方便我们理解解决这一难题的思路方向。微信登录的二维码实际上是将一个URL转换成二维码的形式,而通过微信客户端扫码后,无非就是打开了这个url, 我捕捉到的微信二维码的url为https://login.weixin.qq.com/l/YdmTu30I5A== ,这个
阅读全文
摘要:我们可以通过列表生成式简单直接地创建一个列表,但是受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,而且如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过
阅读全文
摘要:直接上代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
阅读全文
摘要:一.语言 1.推荐一本看过最好的python书籍? 2.谈谈python的装饰器,迭代器,yield,内存管理等? 3.标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全的吗? 4.python适合的场景有哪些?当遇到计算密集型任务怎么办? 5.python高并发解决方案?-
阅读全文
摘要:使用Django,我们可以以声明式的方式来定义一个Form,如下: 1 2 3 4 5 # -*- coding: utf-8 -*- from django import forms class SimpleForm(forms.Form): field_a = forms.CharField(m
阅读全文
摘要:django的model效率不是很高,特别是在做大量的数据库操作的时候,如果你只用django来开企业站或者外包项目的话,那可以小跳过下,而你恰巧是效率狂或者说是对程序的效率要求比较高的话,那就要注意下面的几个方法。1. count()方法:我们想用count方法来获取记录的条数可以采用下面的方法:
阅读全文
摘要:总结一些 Django 开发的小经验。先说一些最最基础的吧。 使用 virtualenv 隔离开发环境 使用 pip 管理项目依赖,主要就是一个小技巧,使用 pip freeze > requirements.txt 来保存依赖的模块和版本 使用 gitignore.io 这个网站提供的 .giti
阅读全文
摘要:生成器和yield关键字可能是Python里面最强大的最难理解的概念之一(或许没有之一), 但是并不妨碍yield成为Python里面最强大的关键字,对于初学者来讲确实非常难于理解,来看一篇关于yield的国外大牛写的文章,让你快速理解yield。 文章有点长,请耐心读完, 过程中有些例子, 循序渐
阅读全文