目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在
系统 2019-09-27 17:55:32 2138
踩了很多坑,记录一下这次试验,本次测试环境:Linuxcentos764位。pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。virtualenv是一个管理不同项目的工具,用以隔离不同项目的工作环境,在同一个python版本实现不同的环境需求。pyenv与virtualenv配合
系统 2019-09-27 17:54:23 2138
一、python多线程因为CPython的实现使用了GlobalInterpereterLock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且python对象模型天然地线程安全。如果你想你的应用程序在多核的机器上使用更好的资源,建议使用multiprocessing或concurrent.futures.processpoolexecutor。但是如果你的程序是IO密集型,则使用线程仍然是很好的选择。二、p
系统 2019-09-27 17:54:03 2138
01问题描述这个SQL题来源于自己的Python学习交流群,具体是这样的:用一条SQL语句查询出每门课都大于80的学生姓名和总成绩。02解题思路本人使用Python来解决这个问题,大概的思路如下:首先筛选出课程成绩小于等于80的列(布尔选择)。取这些列的学生姓名的唯一值。这些学生姓名就是不符合条件的,我们反选符合条件的。最后用groupby求和即可完成。03解题代码①通过布尔选择成绩小于等于80的列。data[data['score']<=80]其实通过结
系统 2019-09-27 17:53:43 2138
•数据类型-列表1.已知AList=[1,2,3,1,2],对AList列表元素去重,写出具体过程。2.如何实现“1,2,3”变成[“1”,“2”,“3”]3.给定两个list,A和B,找出相同元素和不同元素4.[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]5.合并列表[1,5,7,9]和[2,2,6,8]6.如何列表的元素?•数据类型-字典1.字典操作中del和pop有什么区别2.按照字典的内的年龄排序d1=[{
系统 2019-09-27 17:53:33 2138
手写代码实现基于信息熵划分的决策树算法文章目录手写代码实现基于信息熵划分的决策树算法1.简介2.算法实现思路3.代码如下参考1.简介阅读本文需要以下背景知识:-掌握周志华《西瓜书》第四章决策树原理-Python3.0基础语法及数据类型及操作不了解决策树请点击下面链接西瓜书第四章决策树学习笔记本文是基于信息熵准则进行划分选择的决策树算法的手写实现,不使用现有的机器学习包。算法流程见《西瓜书》第四章第一节。数据集使用西瓜数据集3.0(数据集在代码中不需要另外下
系统 2019-09-27 17:53:01 2138
原文链接:https://blog.csdn.net/Anwel/article/details/79967261非常使用的方法:(亲测有效果)importpymysql#xlrd为python中读取excel的库,支持.xls和.xlsx文件#importxlrd#openpyxl库支持.xlsx文件的读写fromopenpyxl.reader.excelimportload_workbookfrombuiltinsimportint#cur是数据库的游
系统 2019-09-27 17:51:55 2138
一、前言预处理建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突;pyenv和pyenv-virtualenv可以完美结合使用,具体使用情况看项目具体要求;依赖环境要求yuminstallreadlinereadline-develreadline-static-yyuminstallopensslopenssl-developenssl-static-yyuminstalls
系统 2019-09-27 17:49:59 2138
1.冒泡排序1.1算法思想冒泡排序是一种简单的排序算法。通过重复地遍历要排序的数列,一次比较两个元素,从最开始的一对到最后的一对(相当于一个长度为2的滑动窗口),如果它们的顺序错误(看从小到达排列还是从大到小排列)就把它们交换过来。如果是升序排列的话,每次遍历都会把最大值交换到最右边。然后重复这个过程,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,就像冒泡一样。这个算法不需要额外的空间,
系统 2019-09-27 17:49:46 2138
一、方法介绍Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。1#open函数的语法格式23open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)4
系统 2019-09-27 17:49:34 2138