- 军军小站|张军博客
搜索到与相关的文章
Python

八大排序算法的Python实现

八大排序算法的Python实现原文地址插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。代码实现

系统 2019-09-27 17:55:35 1902

Python

Python装饰器用法及原理

Python语言有一个比较Pythonic的功能,也是一个具有很强大功能的特性,那就是装饰器。1.Python装饰器的原理Python中的装饰器是通过利用了函数特性的闭包实现的,所以我们需要了解Python闭包的原理,以及函数的功能特性。1.1函数特性函数作为变量传递defadd(x):returnx+1a=add(5)print(a)#运行结果:6函数作为参数传递defadd(x):returnx+1defexecute(f):returnf(3)pri

系统 2019-09-27 17:54:59 1902

Python

Python性能优化的20条建议

优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用

系统 2019-09-27 17:54:58 1902

Python

如何通过python的fabric包完成代码上传部署

首先是安装fabric包pipinstallfabricfabric常用参数-l:显示定义好的任务函数名-f:指定fab入口文件,默认入口文件名为fabfile.py-H:指定目标主机,多台主机用","号分割fabric常用APIlocal:执行本地命令,如:local('uname-s')lcd:切换本地目录,如:lcd('/home')cd:切换远程目录,如:cd('/etc')run:执行远程命令,如:run('free-m')sudo:sudo方式

系统 2019-09-27 17:54:56 1902

Python

自学Python编程的第六天(最后代码有更好的请告诉我

2019-09-16-23:09:06自学Python的第六天,也是写博客的第六天今天学的内容是有关dict字典的用法看视频加上练习,目前还没遇到有难点,但是感觉很不好的样子没有难点以后突然出现一个有关字典的程序感觉要炸,还是得继续掌握看最后的代码吧,有更好的请告诉我======我======是=====一======条======快======乐======的======分======割======线======一.重要知识点1.dict用大括号{}括起

系统 2019-09-27 17:54:44 1902

Python

Python单例模式的两种实现方法

Python单例模式的两种实现方法方法一importthreadingclassSingleton(object):__instance=None__lock=threading.Lock()#usedtosynchronizecodedef__init__(self):"disablethe__init__method"@staticmethoddefgetInstance():ifnotSingleton.__instance:Singleton.__

系统 2019-09-27 17:54:01 1902

Python

Python Pandas数据中对时间的操作

Pandas中对时间这个属性的处理有非常非常多的操作。而本文对其中一个大家可能比较陌生的方法进行讲解。其他的我会陆续上传。应用情景是这样的:考虑到有一个数据集,数据集中有用户注册账号的时间(年-月-日),如下图格式。如果我们希望对用户账号注册时间转为具体的天数,我们可以用如下代码。importpandasaspdtd=data['user_reg_tm']Time=pd.to_datetime(td)Start=pd.datetime(2016,4,16)

系统 2019-09-27 17:53:59 1902

Python

Python学习过程中遇到的疑问以及我的脑洞

一关于局部变量整体变量的理解以及somethingabout不可变对象defChangeInt(a):...a=10...b=2ChangeInt(b)print(b)2这个不可变对象的实例让我产生了疑惑,于是我做了如下:defChangeInt(a):...a=10...a=2ChangeInt(a)print(a)2这个其实很好理解,因为a=10只是个局部变量,也没有return无法对外部造成影响。哪怕我做如下操作:defChangeInt(a):..

系统 2019-09-27 17:53:47 1902

Python

你应该使用Python3里的这些新特性

概述由于Python2的官方维护期即将结束,越来越多的Python项目从Python2切换到了Python3。可是,在实际的工作中,我发现好多人都是在用Python2的思维去写Python3的代码,Python3给我们提供了很多新的、很方便的特性,可以帮助我们快速的编写代码。f-strings(3.6+)在Python里面,我们经常使用format函数来格式化字符串,例如:user="JaneDoe"action="buy"log_message='Use

系统 2019-09-27 17:53:30 1902

Python

Python中正则表达式的巧妙使用一文包你必掌握正则

前言正则表达式就是从字符串中发现规律,并通过“抽象”的符号表达出来。打个比方,对于2,5,10,17,26,37这样的数字序列,如何计算第7个值,肯定要先找该序列的规律,然后用n2+1这个表达式来描述其规律,进而得到第7个值为50。对于需要匹配的字符串来说,同样把发现规律作为第一步,本文主要使用正则表达式完成字符串的查询匹配、替换匹配和分割匹配。常用的正则符号在进入字符串的匹配之前,先来了解一下都有哪些常用的正则符号,见下表所示:如果读者能够比较熟练地掌握

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