Trophy's Blog

记录并分享一些自己的学习经历,希望也能帮助到你~

排序:
默认
按更新时间
按访问量

目录

以下是该系列文章的目录,点击即可跳转: python文件打开模式选择(r?、a?还是w?) python中的__new__()方法 python函数参数传递:传值还是传引用 python中的元类(metaclass) python实例方法、类方法和静态方法 python类变量和实例变量 pyt...

2018-09-04 13:17:56

阅读数:475

评论数:0

数据库系列文章目录

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

2018-09-04 13:07:32

阅读数:18

评论数:0

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

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

2018-10-13 15:24:46

阅读数:8

评论数:0

Python实现插入排序

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

2018-09-13 20:18:52

阅读数:17

评论数:0

Python实现选择排序

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

2018-09-13 17:16:54

阅读数:15

评论数:0

Python实现冒泡排序

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

2018-09-13 16:24:55

阅读数:21

评论数:0

python网络编程

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

2018-09-09 22:58:13

阅读数:1627

评论数:0

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

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

2018-09-05 20:02:34

阅读数:1156

评论数:0

python装饰器

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

2018-09-04 19:39:41

阅读数:1814

评论数:0

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

*args 和 **kwargs 主要用于函数定义。 当我们不确定往一个函数中传入多少参数,或者希望以元组(tuple)或者列表(list)的形式传参数的时候,我们可以使用*args;当我们不知道往函数中传递多少个关键词参数或者想传入字典作为关键词参数的时候我们可以使用**kwargs(args...

2018-09-04 15:47:07

阅读数:1125

评论数:0

Python实现银行家算法

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

2018-08-29 10:46:49

阅读数:32

评论数:0

Python实现LR分析

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

2018-08-29 10:44:33

阅读数:75

评论数:0

Python实现非递归的预测分析

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

2018-08-29 10:42:59

阅读数:40

评论数:0

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

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

2018-08-29 10:41:23

阅读数:145

评论数:0

Python实现模拟DFA算法

算法:模拟DFA 输入: DFA D和输入字符串x,D的初态为s0, 终态集为F。 输出: 若D接受x,回答‘yes’,否则回答‘no’ # 构造DFA class DFA: # 初始化DFA def __init__(self, S, s0, F, move): ...

2018-08-29 10:39:49

阅读数:95

评论数:0

python拷贝对象

先看个例子: import copy #导入copy模块 a = [1, [1,2], 3 ] #原始对象 b = a #赋值,传对象的引用 c = copy.copy(a) #对象拷贝,浅拷贝 d = copy.deepcopy(a) #...

2018-08-14 13:05:56

阅读数:1614

评论数:0

python垃圾回收机制(GC)

概述 Python 垃圾回收机制(Garbage Collection)主要使用引用计数(reference counting)来跟踪和回收垃圾。在引用计数的基础上,使用“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用问题;使用“分代回收”(generation co...

2018-08-13 16:39:11

阅读数:1085

评论数:0

python迭代器和生成器

迭代器(Iterator) 迭代的概念 在python中,通过for循环来逐个获取可迭代对象的每一项的过程就称为迭代(Iteration)。 #简单的迭代: for i in [1,2,3]: print(i) #1 #2 #3 可迭代对象 可以直接作用于for循环的对象统称为可...

2018-08-12 21:16:52

阅读数:1234

评论数:0

python单下划线和双下划线

单下划线 在类中,带有前导下划线的名称只是向其他程序员表明该属性或方法是私有的。仅此而已,并没有什么特别的功能。 双下划线 先看下python官方文档的解释(翻译成中文后): 类似”__spam”格式的任何标识符(至少有两个前导下划线,最多一个尾部下划线)在python底层都会被...

2018-08-12 15:41:41

阅读数:425

评论数:0

python列表推导式、集合推导式和字典推导式

列表推导式(List comprehensions) 通过列表推导式我们能更方便简洁地创建列表。一般是通过可迭代的序列来生成新的列表 字典推导式 集合推导式

2018-08-11 23:28:24

阅读数:1357

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭