SF
python3进阶
python3进阶
注册登录
关注博客
注册登录
主页
关于
RSS
python-归并排序
oldk
2020-02-29
阅读 2 分钟
3k
代码环境:python3.6 归并排序采用分治法,思想是:先递归拆分数组,再合并数组。 1、拆分数组 假设数组一共有 n 个元素,我们递归对数组进行折半拆分即n//2,直到每组只有一个元素为止。 2、合并数组 算法会从最小数组开始有序合并,这样合并出来的数组一直是有序的,所以合并两个有序数组是归并算法的核心,这里用两个...
python实现快速排序的两种方法
oldk
2020-02-28
阅读 3 分钟
2.8k
代码环境:python3.6 递归实现 步骤: 从序列中挑出任意一个元素为pivot,此处选择序列最后一个元素,如果更改,需要相应变更以下步骤内容; 设置两个指针left和right,指向序列的最左和最右两个元素; 从left开始,找到第一个比pivot大的元素;切换到right,找到第一个比pivot小的元素; 将left和right此时指向的元素互...
list.sort和高阶函数sorted
oldk
2020-02-26
阅读 2 分钟
2.1k
代码环境:python3.6 两者简单对比如下: list.sort是原列表排序,而sorted会返回新列表; 可选参数key和reverse的意义和用法都一样。 reverse 用法最简单,reverse=True时降序输出,reverse=False时升序输出。这个参数的默认值是False。 key 是一个函数,我们可以用 python 内置函数或自定义函数,让序列按我们想要的方...
python中的设计模式
oldk
2020-02-20
阅读 3 分钟
2.2k
代码环境:python3.6 单例模式 单例模式,可以确保某个类只有一个实例存在。 {代码...} 装饰器模式 我们给一个对象扩展附加功能有多种方式,装饰器模式就是其中一种。 很多编程语言中,装饰器模式通过继承实现,在 python 中可以使用内置的装饰器功能。 需要注意的是,实现装饰器模式只是 python 装饰器的其中一个用法,...
python中的装饰器
oldk
2020-02-20
阅读 3 分钟
1.7k
装饰器是 python 的一种语法糖,本质是一个可调用的对象,其参数是一个被装饰的函数。装饰器可能会处理被装饰的函数并返回,或者将其替换成另一个函数或对象。
多任务(4):concurrent.futures
oldk
2020-02-05
阅读 3 分钟
1.3k
代码环境:python3.6 到目前为止,我们介绍的多任务编程方式就包括了: 多进程:点击阅读 多线程:点击阅读 协程:点击阅读 上一篇介绍的协程是个好东西,理论上所有多线程处理的 IO 密集型应用,都可以换成协程来处理,并且协程在数据使用上更安全、资源占用更小,所以协程完全可以替代多线程吗? 很可惜不是的。最直接...
多任务(3):协程
oldk
2020-02-05
阅读 4 分钟
2.8k
我们知道,CPU 速度远远快于磁盘、网络等 IO。在 IO 编程中,假如一个 IO 操作阻塞了当前线程,会导致其他代码无法执行,所以我们使用多线程或者多进程来并发执行代码。
多任务(2):多线程
oldk
2020-02-04
阅读 4 分钟
2.7k
代码环境:python3.6 上一篇文章我们介绍了 python 中多进程的使用:点击阅读,现在我们讲讲多线程。 进程由若干个线程组成,一个进程至少有一个线程。任何进程启动的时候,都会默认启动一个线程,我们称之为主线程,再由主线程去创建其他新的子线程。 简单多线程示例 常用的多线程模块是threading,示例: {代码...} 上...
多任务(1):多进程
oldk
2020-02-03
阅读 5 分钟
2.5k
代码环境:python3.6 进程是程序执行时的实例,是操作系统进行资源分配和调度的一个独立单位。 线程是进程内的一个实体,最小的执行单位。一个进程可以有多个线程,在资源占用上,进程大于线程。 现代操作系统都支持“多任务”,我们通过多进程或多线程实现多任务相关的编程。 多进程简单示例 常用的多进程编程可通过multi...