目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在
系统 2019-09-27 17:55:32 2161
面向对象编程:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。面向对象思想三大要素:封装,继承和多态。1定义使用类classStudent(object):#__init__
系统 2019-09-27 17:55:18 2161
目录基础特性数据结构/常用函数函数类装饰器文件异常模块常用模块基础特性●首部添加#!/usr/bin/envpython3表示这是一个python3程序●变量为动态类型,弱类型语言的主要特性之一,要声明变量直接变量名=xx即可,如x=777●语句之后没有分号;作为结束,取而代之的是每行首部的缩进进行标识●运算符号中**代表^即指数,#为//,即注释,"""..."""为文档字符串,即/**...*/●默认数值类型为浮点型●基本类型函数;int(变量),fl
系统 2019-09-27 17:54:49 2161
做开发中难免时间类型之间的转换,最近就发现前端js和后端django经常要用到这个转换,其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的。1.字符串日期时间转换成时间戳#'2015-08-2816:43:37.283'-->1440751417.283#或者'2015-08-2816:43:37'-->1440751417.0defstring2timestamp(strValue):tr
系统 2019-09-27 17:53:01 2161
LineplotsAxes3D.plot(xs,ys,*args,**kwargs)绘制2D或3D数据参数描述xs,ysX轴,Y轴坐标定点zsZ值,每一个点的值都是1zdir绘制2D集合时使用z的方向其他的参数:plot()Python代码:importmatplotlibasmplfrommpl_toolkits.mplot3dimportAxes3Dimportnumpyasnpimportmatplotlib.pyplotaspltmpl.rcPar
系统 2019-09-27 17:52:54 2161
守护进程主进程创建子进程目的是:主进程有一个任务需要并发执行,那开启子进程帮我并发执行任务主进程创建子进程,然后将该进程设置成守护自己的进程关于守护进程需要强调两点:其一:守护进程会在主进程代码执行结束后就终止其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:daemonicprocessesarenotallowedtohavechildren如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果
系统 2019-09-27 17:52:46 2161
简单定义图轴:importnumpyasnpimportmatplotlib.pyplotasplt创建一个简单的matplotlib实例:fig=plt.figure()rect=fig.patch#arectangleinstancerect.set_facecolor('lightgoldenrodyellow')ax1=fig.add_axes([0.1,0.3,0.4,0.4])rect=ax1.patchrect.set_facecolor('
系统 2019-09-27 17:52:41 2161
上集回顾上一节我们学了一些数字的数学运算,了解了运算优先级PMDAS。变量和命名程序输入和运行结果没问题,不过一开始运行的时候产生了出错消息:这条消息的意思是在第5行的“cars_not_driven=cars-drivers"语句中,变量drivers没有被定义。回到程序中查看,确实是赋值变量drivers的语句中错误拼写了该单词,从而只有drives的变量,而没有我们预期的drivers的变量,用起来自然会产生报错。巩固练习1、使用浮点数作为space
系统 2019-09-27 17:52:36 2161
异常1.定义:运行时检测到的错误。2.现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。3.常见异常类型:–名称异常(NameError):变量未定义。–类型异常(TypeError):不同类型数据进行运算。–索引异常(IndexError):超出索引范围。–属性异常(AttributeError):对象没有对应名称的属性。–键异常(KeyError):没有对应名称的键。–为实现异常(NotImplementedError):尚未实现的方法。–
系统 2019-09-27 17:50:45 2161
结论先行生成随机数:#salt=''.join(random.choices(string.ascii_letters+string.digits,k=3))salt=''.join(random.sample(string.ascii_letters+string.digits,3))print(salt)random模块python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据。ran
系统 2019-09-27 17:48:19 2161