很多开发人员在刚开始学Python时,都考虑过像c++那样来实现singleton模式,但后来会发现c++是c++,Python是Python,不能简单的进行模仿。Python中常见的方法是借助global变量,或者class变量来实现单件。本文就介绍以decorator来实现singleton模式的方法。示例代码如下:##-----------------------codebegin-----------------------#-*-coding:u
系统 2019-09-27 17:47:23 2130
pythonformat格式化函数用法原文Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。基本语法是通过{}和:来代替以前的%。format函数可以接受不限个参数,位置可以不按顺序。1.使用位置参数>>>"{}{}".format("hello","world")#不设置指定位置,按默认顺序'helloworld'>>>"{0}{1}".format("hello","world")#设置指定位置'
系统 2019-09-27 17:47:11 2130
1.Request库Request库有七个基本方法:首先以requests库的request方法进行讲解:其次,以其中典型的get方法进行说明:1.r=requests.get(url)首先get构造一个向服务器请求资源的Request对象,r是一个返回的一个包括服务器资的Response对象。2.r=requests.get(url,params=None,**kwargs)params:url中的额外参数,字典或者字节流格式...可以修改url内容**
系统 2019-09-27 17:46:57 2130
一、AdaBoost算法原理上一偏博客总结过,集成学习基于弱学习器之间是否依赖分为Boosting和Bagging两类,Adaboost就是Boosting中的典型代表。其核心思想是针对同一个训练集训练不同的学习器,然后将这些弱学习器集合起来,构造一个更强的最终学习算法AdaBoost是英文"AdaptiveBoosting"(自适应增强)的缩写,它的自适应在于:基于每一个分类器的误差率,来更新所有样本的权重,前一个分类器被错误分类的样本的权值会增大,而正
系统 2019-09-27 17:46:50 2130
在python中有很多字符串连接方式,今天就在这里具体总结一下:①.最原始的字符串连接方式:str1+str2②.python新字符串连接语法:str1,str2③.奇怪的字符串方式:str1str2④.%连接字符串:‘name:%s;sex:'%('tom','male')⑤.字符串列表连接:str.join(some_list)下面具体分析一下:第一种,想必只要是有编程经验的人,估计都知道,直接用“+”来连接两个字符串:'Jim'+'Green'='J
系统 2019-09-27 17:46:32 2130
前言由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据。该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库。在Python环境下,对图像的处理笔者主要使用Pillow库,主要操作包括对图像的读取、存储和变换等。实际应用中,Pillow中提供的Image模块适合对图像整体进行变换处理操作。注:以下介绍仅包括对应模块和函数的基础用法,故而在介绍时省略了部分参数和选项,更完备的用法和介绍可
系统 2019-09-27 17:45:53 2130
一、类的定义和使用python定义一个类的基本语法是:复制代码代码如下:classclassname([基类一,基类二...]):[def__init__(self,[agv1,agv2...]):]#定义构造函数defmethod1(self,[agv1,agv2...]):#成员函数使用时用:对象实例名=类名(参数列表)对象实例名.成员函数名(参数列表)和其它语言不同之处是:(1)python没有new关键字(2)成员函数必须带有self参数(它相当于
系统 2019-09-27 17:38:46 2130
在我以前介绍Python2.4特性的Blog中已经介绍过了decorator了,不过,那时是照猫画虎,现在再仔细描述一下它的使用。关于decorator的详细介绍在Python2.4中的What'snew中已经有介绍,大家可以看一下。如何调用decorator基本上调用decorator有两种形式第一种:复制代码代码如下:@Adeff():这种形式是decorator不带参数的写法。最终Python会处理为:复制代码代码如下:f=A(f)还可以扩展成:复制
系统 2019-09-27 17:38:31 2130
引言对于Python来说,并不缺少并发选项,其标准库中包括了对线程、进程和异步I/O的支持。在许多情况下,通过创建诸如异步、线程和子进程之类的高层模块,Python简化了各种并发方法的使用。除了标准库之外,还有一些第三方的解决方案,例如Twisted、Stackless和进程模块。本文重点关注于使用Python的线程,并使用了一些实际的示例进行说明。虽然有许多很好的联机资源详细说明了线程API,但本文尝试提供一些实际的示例,以说明一些常见的线程使用模式。全
系统 2019-09-27 17:38:28 2130
1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟踪cpython的扩展;2.用C来解决费时的处理,c是效率的代名词,也是python用来解决效率问题的主要途径,甚至有时候我都觉得python是c的完美搭档。常用的是Cython,直接把py代码c化然后又能像使用py包一样使用,其次是ctypes,效
系统 2019-09-27 17:37:43 2130