搜索到与相关的文章
Python

Python list遍历remove()时的一个小BUG

有这样一个列表:s=list('abcdefg')现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替:foreins:s.remove(e)结果却是:In[3]:sOut[3]:['b','d','f']多次示例后发现,这种remove方式保持着隔1删1的规律。那么改一下代码看看出了什么问题:In[14]:i=0In[15]:foreins:...:print("第"+str(i)+"次循环删前:s=",s)...

系统 2019-09-27 17:56:38 2218

Python

Python 之父撰文回忆:为什么要创造 pgen 解析器?

花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好

系统 2019-09-27 17:55:03 2218

Python

python字符串Intern机制详解

字符串在Python中是最简单也是最常用的数据类型之一,在CPython中字符串的实现原理使用了一种叫做Intern(字符串驻留)的技术来提高字符串效率。究竟什么是intern机制,这种机制又是通过什么方式来提高字符串效率的呢?希望这篇文章能够抛砖引玉。先来看一段代码:>>>s3="hello!">>>s4="hello!">>>s3iss4False>>>id(s3)80325968L>>>id(s4)80326048Ls3和s4虽然值是一样的,但确确实

系统 2019-09-27 17:52:22 2218

Python

Python 正则表达式匹配数字及字符串中的纯数字

Python正则表达式匹配数字电话号码:\d{3}-\d{8}|\d{4}-\d{7}QQ号:[1-9][0-9]{4,}中国邮政编码:[1-9]\d{5}(?!\d)身份证:\d{15}|\d{18}ip地址:\d+\.\d+\.\d+\.\d+[1-9]\d*正整数-[1-9]\d*负整数-?[1-9]\d*整数[1-9]\d*|0非负整数-[1-9]\d*|0非正整数[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数-([1-9]\d

系统 2019-09-27 17:50:40 2218

Python

Python监控SQL Server数据库服务器磁盘使用情况

本篇博客总结一下Python采集SQLServer数据库服务器的磁盘使用信息,其实这里也是根据需求不断推进演化的一个历程,我们监控服务器的磁盘走了大概这样一个历程:1:使用SQLServer作业监控磁盘空间很久之前写过一篇博客“MSSQL监控磁盘空间告警”,后面对这个脚本进行过多次完善和优化,做成了一个模板。在每台SQLServer服务器上都部署了,确实也很实用。告警也很给力,但是缺点也非常明显。优点:1:自己动手DIY,在没有部署运维工具的前提下,确实能

系统 2019-09-27 17:49:08 2218

Python

Python程序中的进程操作-进程间数据共享

目录一、进程之间的数据共享1.1Manager模块介绍1.2Manager例子一、进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。1.1Manage

系统 2019-09-27 17:49:06 2218

Python

python matplotlib库绘制散点图例题解析

假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律?a=[11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]b=[26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,

系统 2019-09-27 17:48:45 2218

Python

python中的五种异常处理机制介绍

从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。《DiveintoPython》并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下。今天下载《LearnPython》,直接进异常处理这块。这一部分有四章,第一章讲解异常处理的一般使用方法,后面的章节深入地讨论其机制。我目前只看了第一章,先学会用,以后有必要的时

系统 2019-09-27 17:45:37 2218

Python

Python的迭代器和生成器

先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个StopIteration异常,通知for语句循环结束。比如:>>>s='abc'>>>it=ite

系统 2019-09-27 17:38:38 2218

Python

Python面向对象进阶学习

在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。@property装饰器之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效。我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗

系统 2019-09-27 17:37:57 2218