拥有Python标签的文章
Python

Python实现多态、协议和鸭子类型的代码详解

多态问起面向对象的三大特性,几乎每个人都能对答如流:封装、继承、多态。今天我们就要来说一说Python中的多态。所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。我在《Python中的设计模式详解之:策略模式》一文中详细描述了策略模式的实现,而策略模式就是典型的多态应用。之前的代码我就

系统 2019-09-27 17:49:30 2292

Python

python的绘图工具matplotlib使用实例

matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性。它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览、复制、粘贴一下,基本上都能搞定!实例代码如下:

系统 2019-09-27 17:47:56 2292

Python

python&&多线程多进程及主机管理&&学习笔记

python&&多线程多进程及主机管理&&学习笔记多线程知识回顾关于python"假线程"的说法python是非线程安全的语言基本多进程示例基本多进程示例2多进程之进程间通讯示例1多进程间内存共享示例1多进程之进程间通讯示例2多进程间内存共享示例2多进程间内存共享示例3进程池Pool利用pool产生多进程示例多进程多线程执行示例1IT审计堡垒机的开发示例审计堡垒机的安全控制shellinaboxd异步Select、poll&epoll(异步IO模型)sel

系统 2019-09-27 17:47:38 2292

Python

Python发送email的3种方法

python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可1、登录邮件服务复制代码代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-#python2.7x#send_simple

系统 2019-09-27 17:47:03 2292

Python

举例讲解Python中的死锁、可重入锁和互斥锁

一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name

系统 2019-09-27 17:46:39 2292

Python

Python入门篇之字符串

所有标准的序列操作对字符串都适用,但字符串是不可变的字符串常量:单引号:‘spa"m'双引号:"spa'm"三引号:'''...spam...''',"""...spam..."""转义字符:"s\tp\na\om"Raw字符串:r"C:\new\test.spm"Unicode字符串:u'eggs\u0020spam单双引号是一样的单双引号可以互换,字符常量表达式可以用两个单引号或两个双引号来表示--两种形式同样有效返回相同类型的对象:复制代码代码如下:

系统 2019-09-27 17:55:14 2291

Python

Python 入门之 闭包

Python入门之闭包1、闭包(1)在嵌套函数内使用(非本层变量)和非全局变量就是闭包(2)_closure_判断是不是闭包deffunc():a=1deffoo():print(a)print(foo.__closure__)#判断是不是闭包func()defwrapper():a=1definner():print(a)returninnerret=wrapper()a=2defwrapper():definner():print(a)returnin

系统 2019-09-27 17:54:33 2291

Python

python+matplotlib绘制旋转椭圆实例代码

旋转椭圆实例代码:importmatplotlib.pyplotaspltimportnumpyasnpfrommatplotlib.patchesimportEllipsedelta=45.0#degreesangles=np.arange(0,360+delta,delta)ells=[Ellipse((1,1),4,2,a)forainangles]a=plt.subplot(111,aspect='equal')foreinells:e.set_c

系统 2019-09-27 17:52:38 2291

Python

利用python将图片版PDF转文字版PDF

图片版PDF无法复制,转化成文字版的PDF后使用更方便.我们需要用到python3.6,pypdf2,ghostscript,PythonMagick,百度文字识别服务和pdfkit.安装安装python3.6略安装ghostscripthttps://ghostscript.com/download/gsdnld.html安装wkhtmltopdfhttps://wkhtmltopdf.org/downloads.htmlpip安装PyPDF2,ghos

系统 2019-09-27 17:49:31 2291

Python

Python3 中的循环语句有 for 和 while。

while循环Python中while语句的一般形式while判断条件:语句while有限循环n=100sum=0counter=1whilecounter<=n:sum=sum+countercounter+=1print("1到%d之和为:%d"%(n,sum))while无限循环我们可以通过设置条件表达式永远不为false来实现无限循环,实例如下:var=1whilevar==1:#表达式永远为truenum=int(input("输入一个数字:")

系统 2019-09-27 17:49:30 2291

Python

python中的&&及||的实现示例

首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。接着重点要说明的是python中的a.any(),我之所以会涉及到这个函数,是因为我在设计某个分段数值函数时由于不细心犯的错误引起的。a.any(),根据官方解释:TestwhetheranyelementsofanarrayevaluatetoTruealonganaxis.即针对的是一个list,判断list中的某个元素是否为真,此时只要有一

系统 2019-09-27 17:49:28 2291

Python

python数据结构相关实现【排序、栈、队列、查找】

一、排序【这里介绍冒泡排序、选择排序、快速排序和插入排序】1.冒泡排序(1)原理解释:冒泡排序,分多轮排序。1)每一轮都是从上层的第一个数开始与其下一个数进行对比,如果大于下一个数就进行交换,下次对比就从上面第二个数【不管之前有无交换】再与其下一个数进行比较,依次比较到最后一个数。【如图i的移动变化】2)第一轮比较【j=0】。比较了最底下第二个数和最底下这个数后,即第一轮比较完。所以第一轮比较的次数为n-1次,即从上面第一个数一直比较到底下第二个数。【其中

系统 2019-09-27 17:48:20 2291

Python

利用python list完成最简单的DB连接池方法

先来看查看效果:在代码连接数据库后,并且执行三条sql后,将mysql直接重启掉,故我们的连接池连接均是不ok的,所以,它会全部删除再抓新的连接下来,重启mysql命令:关于python代码:'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#!/usr/bin/envpython3#-*-coding:UTF-8-*-importpymys

系统 2019-09-27 17:47:30 2291

Python

python中pip的使用和修改下载源的方法

基本命令显示版本信息pip-V安装指定包pipinstallpipinstall-i'host'指定下载源卸载指定包pipuninstall列出已安装的包piplist显示有关已安装包的信息pipshow查找指定包pipsearch修改下载源Linuxvim~/.pip/pip.conf#编辑用户目录下隐藏的配置文件,没有的话生成一个格式如下:[global]index-url=http://mirrors.aliyun.com/pypi/simple/[

系统 2019-09-27 17:45:41 2291

Python

05 Python爬虫之信息标记与提取方法

目录一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XMLJSONYAML三、信息提取的一般方法方法一:方法二:融合方法:四、基于bs4库的HTML内容查找方法扩展方法总结:一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XML最早的通用信息标记语言,可扩展性好,但繁琐。Internet上的信息交互与传递JSON信息有类型,适合程序处理(js),较XML简洁移动应用云端和节

系统 2019-09-27 17:45:34 2291