• 等级
  • 24441 访问
  • 40 原创
  • 12 转发
  • 86584 排名
  • 2 评论
  • 11 获赞

编写高质量Python程序的91个建议

书籍信息 书名:编写高质量代码 改善Python程序的91个建议 作者:张颖、赖勇浩 出版社:机械工业出版社 封面: 笔记部分

2018-10-13 15:24:46

数据库事务隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。 Read uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。 事例:老板要给程序员发工资,程...

2018-09-18 11:26:04

Python实现插入排序

算法介绍 插入排序(Insertion Sort)是一种比较简单直观的排序算法。 插入排序的步骤: 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素作为待插入对象,在已排序序列中从后向前扫描 如果该元素小于前一个元素,则将两者调换,再与前一个元素比较 重复第三步,直到前一个元素不大于待插元素 将新元素插入到该位置中 重复第二步 代码实现 # 插入排序 def inse...

2018-09-13 20:18:52

Python实现选择排序

算法介绍 选择排序(Selection Sort)是一种简单直观的排序算法。冒泡排序每比较一次就可能交换一次,但是选择排序是将一轮比较完后,再把最小的放到最前的位置(或者把最大的放到最后)。 选择排序的流程为:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序...

2018-09-13 17:16:54

Python实现冒泡排序

算法介绍 冒泡排序(Bubble Sort)是最容易理解的排序算法之一,但是运行效率有点低。 冒泡过程:对待排序部分(假设有M个元素)从头开始进行两两比较,如果第一个比第二个大(升序),就交换他们两个。这样本轮排序结束后就可以保证值最大的元素数在最右边,那么下次只需要对前面(M-1)个数进行冒泡。 完整的冒泡排序就是进行N-1(N为数列长度)次的冒泡。 代码实现 def bubbleSo...

2018-09-13 16:24:55

python网络编程

简介 网络编程就是在程序中实现网络中两台计算机的通信。而用Python进行网络编程,就是在Python程序本身这个进程内,连接别的服务器进程的通信端口进行通信。 初识Socket Socket(又称套接字)起源于Unix,是应用层与TCP/IP协议族通信的中间软件抽象层。复杂的TCP/IP协议族隐藏在了Socket接口内部,用户只需要简单地使用Socket接口来进行网络编程。应用程序通常...

2018-09-09 22:58:13

python多线程和多进程

https://www.cnblogs.com/tyomcat/p/5486827.html http://python.jobbole.com/86822/ https://www.cnblogs.com/zephyr-1/p/6043785.html

2018-09-05 22:44:03

TCP三次握手与四次挥手

原文:https://blog.csdn.net/qzcsu/article/details/72861891

2018-09-05 21:02:06

美团点评2017秋招笔试编程题

第1题:大富翁游戏 玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。 解析: 典型的变态跳台阶问题,但骰子点数n为1到6,所以直接f(n) = 2 * f(n-1)。 代码: def func(n): return 1<<...

2018-09-05 20:02:34

python装饰器

装饰器本质上是一个Python函数,它可以让其它函数在不作任何变动的情况下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景。比如:插入日志、性能测试、事务处理、缓存、权限校验等。有了装饰器我们就可以抽离出大量的与函数功能无关的雷同代码进行重用。...

2018-09-04 19:39:41

python可变参数:*args 和 **kwargs

*args 和 **kwargs 主要用于函数定义。 当我们不确定往一个函数中传入多少参数,或者希望以元组(tuple)或者列表(list)的形式传参数的时候,我们可以使用*args;当我们不知道往函数中传递多少个关键词参数或者想传入字典作为关键词参数的时候我们可以使用**kwargs(args、kwargs两个标识符是通俗的命名约定,可以但不建议修改)。 *args开头的一个星号*把序列或者...

2018-09-04 15:47:07

目录

以下是该系列文章的目录,点击即可跳转: python文件打开模式选择(r?、a?还是w?) python中的__new__()方法 python函数参数传递:传值还是传引用 python中的元类(metaclass) python实例方法、类方法和静态方法 python类变量和实例变量 python自省 python列表推导式、集合推导式和字典推导式 python单下划线和双下划线 pytho...

2018-09-04 13:17:56

数据库系列文章目录

该分类有以下文章,点击即可跳转: MySQL:索引工作原理 史上最简单的MySQL教程 MySQL索引背后的数据结构及算法原理

2018-09-04 13:07:32

MySQL索引背后的数据结构及算法原理

转自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html

2018-09-04 13:03:01

史上最简单的MySQL教程

转自一位大牛 目录链接:https://blog.csdn.net/qq_35246620/article/details/70823903

2018-09-01 13:14:09

经典算法之背包问题

转自:https://www.cnblogs.com/jbelial/articles/2116074.html

2018-09-01 13:12:28

Python实现银行家算法

银行家算法就不用再介绍了,直接上代码: import copy #初始化函数 def bank_init(): Process = [0] #安全性算法函数 def bank_safe(Available,Need,Allocation,Pn): #创建Work数组 初始值为Avaliable Work = copy.deepcopy(Available) ...

2018-08-29 10:46:49

Python实现LR分析

算法:LR分析 输入:输入序列w和文法G的LR分析表action和goto 输出:若w属于L(G),得到w的规范规约,否则指出一个错误 方法:初始格局为(#0, w#, 驱动器的第一个动作),其中0是初始状态。令ip指向w#中的第一个终结符,top指向栈顶初始状态 import copy #输入输入序列w 和预测分析表M ,非终结符的集合N ,开始进行预测分析 def LR_analyz...

2018-08-29 10:44:33

Python实现非递归的预测分析

算法:非递归的预测分析 输入: 输入序列w和文法G的预测分析表M 输出 :若w属于L(G) , 得到w的一个最左推到,否则指出一个错误 注:使用n代替ε 使用小写字母r代替’ 即 使用rT 代替 T’ import copy #输入输入序列w 和预测分析表M ,非终结符的集合N ,终结符的集合T 开始进行预测分析 def prediction_analyze(w, M ...

2018-08-29 10:42:59

Python实现从NFA构造DFA(子集法)

算法:从NFA构造DFA(子集法) 输入: 一个NFA N 输出 : 一个接受同一正规集的DFA D # 构造NFA class NFA: # 初始化NFA def __init__(self, S, s0, F, move): self.S = S # 状态集(list) self.s0 = s0 # 初态(int) s...

2018-08-29 10:41:23

Trophy_D

just say yes
关注
  • 计算机软件/学生
  • 中国 四川省 成都市
奖章
  • 专栏达人
  • 持之以恒