资源下载 #本文PDF版下载 Python下探究随机数的产生原理和算法(或者单击我博客园右上角的github小标,找到lab102的W7目录下即可) #本文代码下载 几种随机数算法集合(和下文出现过的相同) 前言 我们对于随机数肯定不会陌生,随机数早已成为了我们经常要用到的一个方法,比如用于密码加密,数据生成,蒙特卡洛算法等等都需要随机数的参与.那么我们的电脑是怎么才能够产生随机数的呢?是电脑自己的物理存在还是依靠算法?它到底是如何工作的呢?所以我也对这些问题有着好奇心,所以找到了许多资料学习了…
Python源代码剖析笔记3-Python执行原理初探 本文简书地址:http://www.jianshu.com/p/03af86845c95 之前写了几篇源代码剖析笔记,然而慢慢觉得没有从一个宏观的角度理解python执行原理的话,从底向上分析未免太easy让人疑惑.不如先从宏观上对python执行原理有了一个基本了解,再慢慢探究细节.这样或许会好非常多. 这也是近期这么久没有更新了笔记了,一直在看源代码剖析书籍和源代码.希望能够从一个宏观层面理清python执行原理.人说读书从薄读厚,再从…
最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import os import logging import zbar from PIL import Image import zxing import random import zbarlight logger=logging.getLogger(__name__) if not logger.handl…
Python中下划线的5种含义 分享一篇文章:The Meaning of Underscores in Python. 本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划线和双下划线在Python变量和方法名称中都各有其含义.有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的. 如果你想知道“Python变量…
本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划线和双下划线在Python变量和方法名称中都各有其含义.有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的. 如果你想知道“Python变量和方法名称中单下划线和双下划线的含义是什么?”,我会尽我所能在这里为你解答. 在本文中,我将讨论以下五种下划线模式和命名约…
一.什么是python的国际化(I18N) 有关I18N,百度上解释一大堆,个人比较喜欢这个说法. i18n是 Internationalization 这个英文的简写,因为Internationalization这个单词去掉头尾的i和n刚好还剩下18个字符,意思是国际化. 再通俗讲就是程序的多语言:程序提供多语言功能,用户选择中文,则切换到中文界面,选择英文,则切换到英文界面,甚至是俄文.西班牙文.繁体等等. 具体到本文的python下的wxpython国际化,是指在python开发环境下,实…
摘要: 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1.简单介绍B-tree B+ tree树 2.MyisAM索引结构 3.Annode索引结构 4.MyisAM索引与InnoDB索引相比较 第三部分:MYSQL优化 1.表数据类型选择 2.sql语句优化 (1)     最左前缀原则 (1.1)  能正确的利用索引 (1.2)  不能正确的利用索引 (1.3)  如果一个查询where子句中确实不需要password列,那就用“补洞”. (1.4)  like (2)…
继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有共同头部父类的类型 class E: def test(self): print('from E') # pass class F: def test(self): print('from F') # pass class C: def test(self): print('from C') # p…
Python中产生随机数 一.Python自带的random库       1.参生n--m范围内的一个随机数:    random.randint(n,m) 2.产生0到1之间的浮点数:  random.random() 3.产生n---m之间的浮点数:  random.uniform(1.1,5.4) 4.产生从n---m间隔为k的整数: random.randrange(n,m,k) 5.从序列中随机选取一个元素:  random.choice([1, 2, 3, 4, 5, 6, 7,…
python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下, 这是没问题的, 但当并发量比较高的时候, 频繁的连接创建和释放对性能会有较高的影响 于是, 连接池就发挥作用了 连接池的原理是, 通过预先创建多个连接, 当进行redis操作时, 直接获取已经创建的连接进行操作, 而且操作完成后, 不会释放, 用于后续的其他redis操作 这样就达到了避免频繁的…