Python Language
文章平均质量分 65
ChenVast
有梦想,敢拼博,执着的走属于自己的路。无惧一切,勇往直前,做自己。成为一个伟大的人,改变世界。
Python软件基金会(PSF)成员,
国际数据管理协会(DAMA)会员
展开
-
【Python】python的四种高性能数据类型,助你优化代码、简洁任务
Python 的最大优势之一就是它有各种各样的模块和软件包可供选择。这些模块和包将 Python 的功能扩展到了许多流行领域,包括机器学习、数据科学、Web 开发和前端等。其中表现最好的一个就是 Python 内置的 collections 模块了。一般而言,Python 中的 collections 模块是用于存储列表、字典、元组以及集等数据集合的容器。这些容器嵌入在 Python 中...翻译 2019-11-15 15:48:32 · 505 阅读 · 0 评论 -
【Python】Python代码自动补全神器 Kite
我们很高兴与您分享智能片段,我们的最新功能旨在使您的完成体验更加无缝。Kite的智能代码段使您可以在键入时生成与上下文相关的代码段,从而轻松完成复杂的多令牌语句。典型的代码段必须事先手动定义,而Kite的智能代码段则是根据Kite在您的代码库中发现的代码模式实时生成的。TL; DR适用于我们支持的所有编辑器的最新版本的Kite(20190905.0...翻译 2019-11-06 09:08:25 · 5890 阅读 · 1 评论 -
【图像算法】ImageHash(Python 图像哈希库)
用Python编写的图像哈希库。ImageHash支持:平均哈希(aHash)感知哈希(pHash)差异哈希(dHash)小波散列(wHash)要求基于PIL,numpy和scipy.fftpack(用于pHash)通过pypi轻松安装。基本用法from PIL import Imageimport imagehashhash = imagehash.average_hash(Image.op...原创 2018-04-30 21:04:15 · 8291 阅读 · 2 评论 -
【程序设计】Python的解释器模式
解释器模式定义如下:给定一种语言,定义它的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式中会有终结符和非终结符之说,语法也根据两种终结符,决定语句最终含义。优点:1、在语法分析的场景中,具有比较好的扩展性。规则修改和制订比较灵活。应用场景:1、若一个问题重复发生,可以考虑使用解释器模式。这点在数据处理和日志处理过程中使用较多,当数据的需转载 2018-01-30 09:06:04 · 1142 阅读 · 0 评论 -
【程序设计】Python的备忘录模式
备忘录模式定义如下:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原来保存的状态。在备忘录模式中,如果要保存的状态多,可以创造一个备忘录管理者角色来管理备忘录。应用场景1、需要保存和恢复数据的相关状态场景。如保存游戏状态的场景;撤销场景,如Ctrl-Z操作;事务回滚的应用。一般情况下事务回滚有两种方式:一是把从恢转载 2018-01-30 09:05:53 · 1100 阅读 · 0 评论 -
【程序设计】Python的状态模式
状态模式的定义如下:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。优点:1、状态模式的优点是结构清晰,相比于if…else…简约了不少;2、封装性好,外部调用不必知道内部实现细节。应用场景:1、行为状态改变的场景。这点在各种控制器中非常常见,同时,逻辑结构为状态转移图的场景中都非常适用。缺点1、在状态比较多时,子类也会非常多,不便于管理转载 2018-01-30 09:05:38 · 986 阅读 · 0 评论 -
【程序设计】Python的访问者模式
访问者模式的定义如下:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义于作用于这些元素的新操作。提到访问者模式,就不得不提一下双分派。分派分为静态分派和动态分派。静态分派即根据请求者的名称和接收到的参数,决定多态时处理的操作。Python原生是不支持静态分派的,因而也不直接支持更高层次的分派。访问者模式实现的分派,是一种动态双分派。但这转载 2018-01-29 11:29:17 · 1129 阅读 · 0 评论 -
【程序设计】Python的模板模式
模板模式定义如下:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。子类实现的具体方法叫作基本方法,实现对基本方法高度的框架方法,叫作模板方法。优点:1、可变的部分可以充分扩展,不变的步骤可以充分封装;2、提取公共代码,减少冗余代码,便于维护;3、具体过程可以定制,总体流程方便掌控。使用场景转载 2018-01-29 11:25:59 · 1763 阅读 · 0 评论 -
【程序设计】Python的观察者模式(发布-订阅模式)
观察者模式也叫发布-订阅模式,其定义如下:定义对象间一种一对多的依赖关系,使得当该对象状态改变时,所有依赖于它的对象都会得到通知,并被自动更新。观察者模式的通知方式可以通过直接调用等同步方式实现(如函数调用,HTTP接口调用等),也可以通过消息队列异步调用(同步调用指被观察者发布消息后,必须等所有观察者响应结束后才可以进行接下来的操作;异步调用指被观察者发布消息后,即可进行接下来的操作。)转载 2018-01-29 11:23:36 · 3391 阅读 · 0 评论 -
【程序设计】Python的责任链模式
责任链模式的定义如下:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。优点:1、将请求者与处理者分离,请求者并不知道请求是被哪个处理者所处理,易于扩展。应用场景:1、若一个请求可能由一个对请求有链式优先级的处理群所处理时,可以考虑责任链模式。除本例外,银行的客户请求处理系统也可以用转载 2018-01-29 11:18:48 · 888 阅读 · 0 评论 -
【程序设计】Python的命令模式
命令模式的定义为:将一个请求封装成一个对象,从而可以使用不同的请求将客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式中通常涉及三类对象的抽象:Receiver,Command,Invoker(本例中的waiterSys)。只有一个Invoker的命令模式也可以抽象成一个类似的“星形网络”,但与之前介绍的中介者模式不同,单纯的命令模式更像是一个辐射状的转载 2018-01-29 11:16:17 · 840 阅读 · 0 评论 -
【程序设计】Python的中介者模式
中介者模式的定义为:用一个中介对象封装一系列的对象交互。中介者使各对象不需要显式地互相作用,从而使其耦合松散,并可以独立地改变它们之间的交互。优点:1、减少类与类的依赖,降低了类和类之间的耦合;2、容易扩展规模。应用场景:1、设计类图时,出现了网状结构时,可以考虑将类图设计成星型结构,这样就可以使用中介者模式了。如机场调度系统(多个跑道、飞机、指挥塔之间的调度)、路由系转载 2018-01-29 11:13:33 · 1044 阅读 · 0 评论 -
【程序设计】python的策略模式
策略模式定义如下:定义一组算法,将每个算法都封装起来,并使他们之间可互换。具体策略实现类中即可定义个性化的策略方式,且可以方便替换。比较一下桥接模式和策略模式,如果把策略模式的Context设计成抽象类和实现类的方式,那么策略模式和桥接模式就可以划等号了。桥接模式比策略模式多了对一种角色(抽象角色)的抽象。桥接模式解决抽象角色和实现角色都可以扩展的问题;而策略模式解转载 2018-01-29 11:11:01 · 813 阅读 · 0 评论 -
【程序设计】设计模式
设计模式它不限于一种特定的语言,它是一种解决问题的思想和方法。设计模式是面对各种问题进行提炼和抽象而形成的解决方案。考虑了封装性,复用性,效率,可修改,可移植等各种因素的高度总结。遵循设计模式而设计的代码结构,尽可能减少模块间的不必要依赖设计模式对需求变更与代码重用的考虑,可以被作为软件设计的参考设计模式基本上本着“高内聚,低耦合”的原则,遵循设计模式而设计转载 2018-01-27 13:13:30 · 774 阅读 · 0 评论 -
【pandas】pandas每次使用append追加行时都生成一个Unnamed列
pandas每次使用append追加行时多出一个Unnamed列!解决办法:追加行数据前,read_csv函数读取数据时, 增加 index_col 参数,指定哪一行为索引行。如:test = pd.read_csv(filename,index_col=0)...原创 2018-04-18 20:26:32 · 6408 阅读 · 2 评论 -
【python】Python的可变对象和不可变对象与其充当函数参数的后果
python有两种对象:不可变对象,如:int、float、str、tuple 可变对象,如:list、dict、set目录可变对象与不可变对象的含义不可变对象案例说明:小结可变对象案例说明:小结总结函数的参数传递不可变对象作为函数参数案例:小结可变对象作为函数参数案例:小结总结 可变对象与不可变对象的...原创 2018-10-24 18:01:00 · 919 阅读 · 0 评论 -
【Python】编写更优秀的Python函数
在Python中,与大多数现代编程语言一样,该函数是抽象和封装的主要方法。作为开发人员,您可能已经编写了数百个函数。但并非所有函数都是平等的。编写“坏”函数会直接影响代码的可读性和可维护性。那么,什么是“坏”函数,更重要的是什么使“好”函数?目录回顾好函数的关键命名单一功能文档注释返回值长度幂等性和函数纯度为什么幂等性很重要?什么是“纯粹”函数?总结...翻译 2018-10-15 14:51:59 · 449 阅读 · 0 评论 -
【Python】面向对象软件设计简述(OOP)
通过实施角色扮演游戏的课程来演示目录介绍对象类型1.实体对象2.控制对象3.边界对象奖励:值对象关键设计原则抽象化封装分解泛化组成批判性思维免责声明关注的凝聚,耦合和分离凝聚耦合关注点分离结束语概要进一步阅读 介绍大多数现代编程语言都支持并鼓励面向对象编程(OOP)。虽然最近我们似乎看到了一点点偏离...翻译 2018-09-17 11:41:55 · 1801 阅读 · 0 评论 -
【python】google的经纬度定位查询API
功能:根据经纬度,定位相应位置。使用google 地图 API,每日有限量使用。from urllib.request import urlopenfrom bs4 import BeautifulSoupdef query(lat,loc): url = "http://maps.google.cn/maps/api/geocode/xml?latlng=%.6f,%.6...原创 2018-08-14 16:53:37 · 5877 阅读 · 0 评论 -
【Python】python 3.X 使用 百度/有道 翻译API进行翻译
百度import urllibimport randomimport hashlibfrom urllib.request import urlopendef baidu_translate(text,fromLang='en',toLang='zh'): appid = 'XXXXX' secretKey = 'XXXXXX' httpClient = ...原创 2018-08-02 09:11:40 · 1894 阅读 · 0 评论 -
【程序设计】设计模式与设计原则
设计模式与设计原则,基本符合规则与原则的关系: 设计模式是一个个具体问题的解决方案,设计模式是程序设计方法的形。 设计原则反映了这些设计模式的指导思想,设计原则是程序设计方法的神。设计原则可衍生出的设计模式,任何一种针对特定业务场景中的解决方法,虽然找不到对应的设计模式与之匹配,但若符合设计原则,也可以认为是一种全新的设计模式。 设计原则:单一职责原则: 单...转载 2018-01-25 16:17:52 · 855 阅读 · 0 评论 -
【面试】Python面试题库
第一部分 Python基础篇(80题)为什么学习Python? 通过什么途径学习的Python? Python和Java、PHP、C、C#、C++等其他语言的对比? 简述解释型和编译型编程语言? Python解释器种类以及特点? 位和字节的关系? b、B、KB、MB、GB 的关系? 请至少列举5个 PEP8 规范(越多越好)。 通过代码实现如下转换: 二进制转换成十进制:v ...原创 2018-08-06 11:32:45 · 1649 阅读 · 0 评论 -
【数据结构】Dict(字典)和HashMap原理区别
Python内部很地方都使用着dict这种结构,在对象属性__dict__就是一个字典,所以对其效率要求很高。dict采用了哈希表,最低能在 O(1)时间内完成搜索。同样的java的HashMap也是采用了哈希表实现,不同是dict在发生哈希冲突的时候采用了开放寻址法,而HashMap采用了链接法。开放寻址法优点记录更容易进行序列化(serialize)操作 如果记录总...转载 2018-08-06 11:26:57 · 11045 阅读 · 2 评论 -
【Python】使用31条规则编写高质量且美丽的Python代码
Raymond Hettinger在pycon US 2013 视频,幻灯片上的讲话。代码示例和直接引用都来自Raymond的演讲。我在这里复制它们是为了我自己的启发和希望别人会发现它们像我一样方便!原文:https://github.com/JeffPaine/beautiful_idiomatic_python 基础1、循环一系列数字for i in [0, 1, 2...翻译 2018-08-09 16:04:26 · 2553 阅读 · 0 评论 -
【Python】python字节码
Python如何工作Python经常被描述为一种解释型语言 - 当程序运行时,你的源代码被翻译成本地CPU指令 - 但这只是部分正确的。与许多解释型语言一样,Python实际上将源代码编译为虚拟机的一组指令,Python解释器是该虚拟机的一个实现。这种中间格式被称为“字节码”。因此,.pycPython留下的文件不仅仅是源代码的一些“更快”或“优化”版本; 它们是在您的程序运行时将由Python的...翻译 2018-05-10 10:43:04 · 1763 阅读 · 0 评论 -
【程序设计】Python的适配器模式
适配器模式定义如下:将一个类的接口变换分类中翻译客户端的期待的另一种接口,使从而因原本不接口匹配而无法在一起工作的两个类能够在一起工作适配器模式装饰状语从句:有模式的一定相似性,都起包装的作用装饰模式的结果,是给一个对象增加了一些额外的职责,而适配器模式,则是将另一个对象进行了“伪装”。适配器可以认为是对现在业务的补偿式应用尽量不要在设计阶段使用适配转载 2018-01-27 19:32:34 · 943 阅读 · 0 评论 -
【程序设计】Python的桥梁模式
模式桥梁又叫桥接模式,定义如下:将抽象艺术与实现解耦(注意此处的抽象和实现,并非抽象类和实现类的那种关系,而是一种角色的关系,这里需要好好区分一下),可以使其独立变化。所谓的桥,就是抽象化角色的抽象类和实现化角色的抽象类之间的引用关系。优点:1,抽象角色与实现角色相分离,二者可以独立设计,不受约束;2,扩展性强:抽象角色和实现角色可以非常灵活地扩展。应用转载 2018-01-29 10:56:45 · 1161 阅读 · 0 评论 -
Python代码中的捕捉性能-内存分析
在这篇文章中,我将介绍一些可以帮助我们解决Python中痛苦问题的工具,特别是在使用PyPy:内存消耗时。为什么我们首先关心这一点?为什么我们不关心表演?这些问题的答案相当复杂,但是我会总结一下。PyPy是替代Python解释器,在那个拥有很大的优势CPython的:速度(通过它的即时编译器),兼容性(这是在更换CPython的几乎下降)和并发性(使用无堆叠和greenlets)。翻译 2017-12-14 16:21:14 · 4101 阅读 · 0 评论 -
Pipenv:Python开发人员工作流
Pipenv是一个生产就绪的工具,旨在把所有的包装世界的最好的带到Python的世界。它将Pipfile,pip和virtualenv整合到一个命令中。它具有非常漂亮的终端颜色。Pipenv是Python.org正式推荐的Python打包工具。Pipenv是一个旨在将最好的包装世界(bundler, composer, npm, cargo,翻译 2017-12-14 15:45:47 · 5604 阅读 · 0 评论 -
深入浅出Python中的异步编程
如何使用Python编写异步程序,以及为什么你想要做这样的事情? 一个同步程序是我们大多数人开始了写作,并可以被看作是执行一次在一个实施步骤,一个接一个。即使使用条件分支,循环和函数调用,我们仍然可以考虑一次执行一个执行步骤的代码,完成后再继续执行下一步。下面是几个可以这样工作的示例程序:· 批处理程序通常被创建为同步程序:获取一些输入,处理它,创建一些输转载 2017-12-20 15:48:52 · 1649 阅读 · 0 评论 -
Python程序员必读—Python PEP8编程风格
目录基于PEP8的Python编程风格一、缩进:二、制表符还是空格三、最大代码长度:四、在二元运算符之前或之后是否应该断行五、空白行:六、源文件编码:七、导入:八、模块级别的dunder名称:九、行引号:十、表达式和语句中的空格:十一、其他建议:十二、注释:十三、阻止评论:十四、内联注释:十五、文档注释:十六、命名约定:十七、...翻译 2017-11-09 15:50:28 · 1885 阅读 · 0 评论 -
LNuDP(Linux+Nginx+uWSGI+Django)架构
Nginx是一个非常好的反向代理和动静分离和web服务器uWSGI是一个针对python非常好的web服务器和中间件Django是一个非常好的Python web 框架Pytohn是一门非常好的编程语言是个非常好组合,会碰撞出真要的火花?敬请期待!原创 2017-05-18 18:04:32 · 1543 阅读 · 0 评论 -
Python之协程
网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。Python的在3.4中引入了协程的概念,可是这个还是以生成器对象为基础,3.5则确定了协程的语法。下面将简单介绍asyncio的使用。实现协程的不仅仅是asyncio,tornado和gevent都实现了类似的功能。作者:人世间链接:http://www.jianshu.com/p/b5e347b3转载 2017-09-12 11:19:19 · 1169 阅读 · 0 评论 -
python的时间格式
#coding=utf-8import time'''time模块中,时间有三种表现形式:时间戳,一般指Unix时间戳,是从1970年开始到现在的秒数。本地时间的struct_time形式:一个长度为11的命名元组,第一位为年,第二位为月….UTC时间的struct_time形式:一个长度为11的命名元组,类似于上个,只不过为UTC时间'''#时间戳原创 2017-09-28 10:30:06 · 1209 阅读 · 0 评论 -
Python的多种风格快速排序案例
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,原创 2017-08-30 14:46:31 · 470 阅读 · 0 评论 -
Python+paramiko基于配置文件的批量主机管理
1、使用paramiko库的SSHClient方法从而使用SSH的主机管理功能。2、使用threading,python下的多线程库,进行多主机多线程管理,实现并发执行管理。3、使用sys库的argv方法,使其python脚本在服务器下命令化4、使用time库的clock方法计算命令执行所用的时间原创 2017-08-21 12:35:19 · 2353 阅读 · 0 评论 -
Python的Telnet工具Telnetlib的使用
Python使用Telnet工具,Python下借用Telnetlib库使用telnet。原创 2017-08-21 09:38:12 · 3657 阅读 · 0 评论 -
Python版本升级
python升级原创 2017-05-21 09:52:41 · 1794 阅读 · 2 评论 -
Python代码中的捕捉性能-CPU分析(Python脚本)
在这篇文章中,我将介绍一些可以帮助我们解决Python中另一个痛苦问题的工具:分析CPU使用情况。CPU分析意味着通过分析CPU执行代码的方式来测量代码的性能。这意味着在我们的代码中找到热点,看看我们如何处理它们。接下来我们将看到如何跟踪Python脚本使用的CPU使用情况。我们将重点关注以下分析器:cProfileline_profilerpprofi翻译 2017-12-14 16:03:44 · 4956 阅读 · 0 评论 -
Python代码中捕捉性能-环境设置
这是“Python代码中的狩猎性能”系列中的第一篇文章。通过每篇文章,我将介绍一些存在于Python代码中的工具和分析器,以及它们如何帮助您更好地发现前端(Python脚本)和/或后端(Python解释器)中的瓶颈。系列索引建立内存分析CPU分析 - Python脚本CPU分析 - Python解释器建立在进行基准翻译 2017-12-14 16:13:41 · 710 阅读 · 0 评论