随笔分类 -  Python

1 2 3 4 5 ··· 7 下一页
摘要:1. 台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 2. 变态台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 3. 矩形覆盖 我们可以用2*1的小矩形横着或者竖着去覆盖更 阅读全文
posted @ 2018-02-27 01:18 刘小伟 阅读(146) 评论(0) 推荐(0)
摘要:1. 使用__new__方法 __new__ 与 __init__ 的联系: __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。 __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。 2. 使用装饰器 3. 使用import 阅读全文
posted @ 2018-02-24 19:44 刘小伟 阅读(195) 评论(0) 推荐(0)
摘要:原文:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/ 经典排序算法在面试中占有很大的比重,也是基础,为了未雨绸缪,在寒假里整理并用Python实现了七大经典排序算法,包括冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆 阅读全文
posted @ 2018-02-22 15:48 刘小伟 阅读(439) 评论(0) 推荐(0)
摘要:1. 什么时候会用到virtualenv 假设我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,其中A应用对库LibFoo的版本要求为1,而B应用对同一个库LibFoo的版本要求为2,两个应用对同一个库的要求冲突了,而所有第三方的库都会被pip默认安装到Python的site-pa 阅读全文
posted @ 2018-01-17 19:57 刘小伟 阅读(219) 评论(0) 推荐(0)
摘要:一、协议 API与用户的通信协议,总是使用HTTPs协议。 二、域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ 三、版本(Versioning 阅读全文
posted @ 2018-01-17 18:39 刘小伟 阅读(316) 评论(0) 推荐(0)
摘要:二叉树 1. 建立二叉树 2. 广度遍历与深度遍历 广度遍历: 深度遍历: 前序遍历:根,左子树,右子树 中序遍历:左子树,根,右子树 后序遍历:左子树,右子树,根 3. 已知前序,中序求后序 分析: 前序:[1, 3, 7, 0, 6, 2, 5] 中序:[0, 7, 3, 6, 1, 5, 2] 阅读全文
posted @ 2017-12-25 22:56 刘小伟 阅读(373) 评论(0) 推荐(0)
摘要:1. 冒泡排序 2. 选择排序 3. 插入排序 4. 快排 5. 归并排序 6. 堆排序 大根堆:完全二叉树,节点 大于 其左右子节点 9 下标 i 5 8 2i +1 2i + 2 3 1 4 7 0 2 [9, 5, 8, 3, 1, 4, 7, 0, 2] 小根堆:完全二叉树,节点 小于 其左 阅读全文
posted @ 2017-12-25 14:34 刘小伟 阅读(162) 评论(0) 推荐(0)
摘要:一、定义: 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-block 阅读全文
posted @ 2017-09-08 11:10 刘小伟 阅读(203) 评论(0) 推荐(0)
摘要:定义: 指单线程下的并发,又称微线程,协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的 优点: 1. 协程的切换开销更小,属于程序级别的切换,操作系统完全感知不到,因而更加轻量级 2. 单线程内就可以实现并发的效果,最大限度地利用cpu 缺点: 1. 协程的本质是单线程下,无法利用多核 阅读全文
posted @ 2017-09-08 10:56 刘小伟 阅读(229) 评论(0) 推荐(0)
摘要:1、多进程多进程: 优点:可以利用多核优势 缺点:开销大 2 、多线程: 优点:开销小 缺点:不能利用多核优势 3、结论:计算密集型可以选择多进程,IO密集型可以选择多线程 阅读全文
posted @ 2017-09-08 10:44 刘小伟 阅读(882) 评论(0) 推荐(0)
摘要:一、定义: 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是执行单位 二、线程定义方式: 1、使用替换threading模块提供的Thread 2、自定义类,继承Thre 阅读全文
posted @ 2017-09-08 10:40 刘小伟 阅读(211) 评论(0) 推荐(0)
摘要:定义: 处理远程命令以及上传下载文件的的模块 实例: 阅读全文
posted @ 2017-09-01 11:48 刘小伟 阅读(205) 评论(0) 推荐(0)
摘要:一、定义: 多进程是实现并发的手段之一,在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。 Pool([numprocess [,initializer [, initargs]]]):创建进程池 二、主要参数: 三、主要方法: 四、 阅读全文
posted @ 2017-09-01 11:46 刘小伟 阅读(2040) 评论(0) 推荐(0)
摘要:定义: 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度 阅读全文
posted @ 2017-09-01 11:36 刘小伟 阅读(1021) 评论(0) 推荐(0)
摘要:定义: 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的,队列需要导入multiprocessing 的Queue 队列方法: 主要方法: 其它方法: 实例: 阅读全文
posted @ 2017-09-01 11:19 刘小伟 阅读(1497) 评论(0) 推荐(0)
摘要:一、定义: 正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 二、进程的创建方式: 都是通过multiprocessing 的Process进行创建的 1、第一种 2、第二种 三、进程中的join方法,当进行进程.join的时候意思是主进程等,等待进程运行结束,再结束 四、Process 阅读全文
posted @ 2017-09-01 11:14 刘小伟 阅读(218) 评论(0) 推荐(0)
摘要:一、定义: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们无需深入理解tc 阅读全文
posted @ 2017-08-25 11:22 刘小伟 阅读(166) 评论(0) 推荐(0)
摘要:定义: 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止 异常种类: 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,一个异常标识一种错误 常用异常: 更多异常: 异常处理: 阅读全文
posted @ 2017-08-23 17:10 刘小伟 阅读(226) 评论(0) 推荐(0)
摘要:定义: 在对象马上销毁前,就是销毁前最后做的事情 实例: 阅读全文
posted @ 2017-08-23 16:14 刘小伟 阅读(2788) 评论(0) 推荐(0)
摘要:定义: 在打印对象本身的时候所显示的东西 实例: 阅读全文
posted @ 2017-08-23 16:11 刘小伟 阅读(440) 评论(0) 推荐(0)

1 2 3 4 5 ··· 7 下一页