搜索到与相关的文章
Python

python单例模式

目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在

系统 2019-09-27 17:55:32 2089

Python

Python中的asyncio代码详解

asyncio介绍熟悉c#的同学可能知道,在c#中可以很方便的使用async和await来实现异步编程,那么在python中应该怎么做呢,其实python也支持异步编程,一般使用asyncio这个库,下面介绍下什么是asyncio:asyncio是用来编写并发代码的库,使用async/await语法。asyncio被用作多个提供高性能Python异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio往往是构建IO密集型和高层级

系统 2019-09-27 17:54:52 2089

Python

Python科学画图代码分享

Python画图主要用到matplotlib这个库。Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这里有一本电子书供大家参考:《Python图表绘制:matplotlib绘图库入门》具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍。首先给出pylab神器镇文:pylab.rcParams.update(params)

系统 2019-09-27 17:53:08 2089

Python

Python用户推荐系统曼哈顿算法实现完整代码

出租车几何或曼哈顿距离(ManhattanDistance)是由十九世纪的赫尔曼・闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。曼哈顿距离――两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正

系统 2019-09-27 17:53:07 2089

Python

Python写的英文字符大小写转换代码示例

几行代码的小工具,用于进行如下转换TRANSACTIONSONCLOUDCOMPUTING=》TransactionsOnCloudComputing复制代码代码如下:orig='TRANSACTIONSONCLOUDCOMPUTING'splited=orig.split('')handled=''forwordinsplited:word=word[0]+word[1:].lower()handled+=(''+word)handled=handled

系统 2019-09-27 17:51:53 2089

Python

关于Python内存分配时的小秘密分享

前言Python中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。本文将会频繁地使用该模块的getsizeof()方法,因此,我先简要介绍一下:该方法用于获取一个对象的字节大小(bytes)它只计算直接占用的内存,而不计算对象内所引用对象的内存这里有个直观的例子:importsysa=[1,2]b=[a,a]#即[[1,2],[1,2]]#a、b都只有两个元素,所以直接占用的大小相等sys.get

系统 2019-09-27 17:51:00 2089

Python

Python的异常处理机制和常见异常类型

异常1.定义:运行时检测到的错误。2.现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。3.常见异常类型:–名称异常(NameError):变量未定义。–类型异常(TypeError):不同类型数据进行运算。–索引异常(IndexError):超出索引范围。–属性异常(AttributeError):对象没有对应名称的属性。–键异常(KeyError):没有对应名称的键。–为实现异常(NotImplementedError):尚未实现的方法。–

系统 2019-09-27 17:50:45 2089

Python

Python 的可迭代对象、迭代器和生成器

迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没

系统 2019-09-27 17:50:23 2089

Python

Python中的Numeric包和Numarray包使用教程

要了解NumericalPython软件包的第一件事情是,NumericalPython不会让您去做标准Python不能完成的任何工作。它只是让您以快得多的速度去完成标准Python能够完成的相同任务。实际上不仅仅如此;许多数组操作用Numeric或者Numarray来表达比起用标准Python数据类型和语法来表达要优雅得多。不过,惊人的速度才是吸引用户使用NumericalPython的主要原因。其实,NumericalPython只是实现了一个新的数据

系统 2019-09-27 17:49:51 2089

Python

冒泡排序(python)

1.冒泡排序1.1算法思想冒泡排序是一种简单的排序算法。通过重复地遍历要排序的数列,一次比较两个元素,从最开始的一对到最后的一对(相当于一个长度为2的滑动窗口),如果它们的顺序错误(看从小到达排列还是从大到小排列)就把它们交换过来。如果是升序排列的话,每次遍历都会把最大值交换到最右边。然后重复这个过程,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,就像冒泡一样。这个算法不需要额外的空间,

系统 2019-09-27 17:49:46 2089