拥有Python标签的文章
Python

使用70行Python代码实现一个递归下降解析器的教程

第一步:标记化处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。首先,我定义了一些标记(数字不在此中,它们是默认的标记)和一个标记类型:token_map={'+':'ADD','-':'ADD','*':'MUL','/':'MUL','(':'LPAR',')':'RPAR'}Token=namedtuple('Token',['name','value'])下面就是我用来标记`expr`

系统 2019-09-27 17:49:09 1952

Python

生成海报(前端 | python)

我最近没有摸鱼,一直都在工作。只不过目前需要爬一点数据python做的,之后看机会分享一下。忙着忙着老大说要生成海报,有个活动要给每个用户来个分享图。想法PS批处理?脚本?能甩出去的活都甩出去,机智如我啊python处理图像(PIL)。这么坑的想法,当然不是我想的了。虽然我实现了写个页面调用之前生成长截图的服务。之前有个为了方便分享微信,做了生成长截图的服务。写个新的页面用一下即可。我堂堂前端er,怎么能一直用别的工具呢?我的锤子呢?ps处理这个方案,经过

系统 2019-09-27 17:48:59 1952

Python

牛客网刷题1(python)

1.在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:判断数组中是否有该整数,因此返回值为false或true。定义查询函数Find(),使用循环判断输入的整数是否在array中,设置flag位,若含有则返回true,否则返回false。/*判断整数是否在二维数组里*/classSolution:#array二

系统 2019-09-27 17:48:58 1952

Python

Python的ORM框架中SQLAlchemy库的查询操作的教程

1.返回列表和标量(Scalar)前面我们注意到Query对象可以返回可迭代的值(iteratorvalue),然后我们可以通过forin来查询。不过Query对象的all()、one()以及first()方法将返回非迭代值(non-iteratorvalue),比如说all()返回的是一个列表:>>>query=session.query(User).\>>>filter(User.name.like('%ed')).order_by(User.id)>

系统 2019-09-27 17:48:41 1952

Python

python 字典(dict)遍历的四种方法性能测试报告

python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试l=[(x,x)forxinxrange(10000)]d=dict(l)fromtimeimportclockt0=clock()foriind:t=i+d[i]t1=clock()fork,vind.items():t=k+vt2=clock()fork,vind.iteritems():t=k+vt3=clock()fork,vinzip(d.iterkeys(),d

系统 2019-09-27 17:48:13 1952

Python

Python functools模块学习总结

文档地址functools.partial作用:functools.partial通过包装手法,允许我们"重新定义"函数签名用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用复制代码代码如下:#args/keywords调用partial时参数defpartial(func,*args,**keywords):defnewfunc(*fargs,**fkey

系统 2019-09-27 17:47:58 1952

Python

我和python的第一次亲密接触

测试题:0.Python是什么类型的语言?Python是一种脚本语言,写好了就可以直接运行Python是一种面向对象、解释型、动态类型计算机程序设计语言解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译动态类型:在程序执行过程中,可以改变变量的类型它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起1.IDLE是什么?是python程序自带的简洁的集成开发环境2.print()的作用是什么?打印文本输出字

系统 2019-09-27 17:47:51 1952

Python

python itertools 模块讲解

1、介绍itertools是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。-无限迭代器itertools包自带了三个可以无限迭代的迭代器。这意味着,当你使用他们时,你要知道要的到底是最终会停止的迭代器,还是需要无限地迭代鞋去。(1)count(初值=0,步长=1):count迭代器会返回从传入的起始参数开始的均匀间隔的数值。count也可以接收指定的步长参数。我们来看一

系统 2019-09-27 17:47:20 1952

Python

python实现监控linux性能及进程消耗性能的方法

本文以实例形式实现了python监控linux性能以及进程消耗性能的方法,具体实现代码如下:#-*-coding:utf-8-*-"""CreatedonTueJun1010:20:132014@author:lifeix"""fromcollectionsimportOrderedDictimporttimeimportosdefcpuinfo():lines=open('/proc/stat').readlines()forlineinlines:ln

系统 2019-09-27 17:47:12 1952

Python

python 含子图的gif生成时内存溢出的方法

今天想用python做个demo,含两个子图的动态gif,代码如下:importmatplotlib.pyplotaspltimportimageio,osimportmatplotlib#plt.ion()fig=plt.figure(0)ax1=plt.subplot(121)ax2=plt.subplot(122)ax1.set_title('input')ax2.set_title('GT')foriinrange(1000):img1=plt.i

系统 2019-09-27 17:46:22 1952

Python

【Python练习圣典】字典dictionary高级操作

1.字典键-值对中,值元素的便捷创建增减主要是利用collections中的defaultdict普通复杂过程:pairs=[('a',1),('a',2),('b',2)]d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)或d={}#普通字典d.setdefault('a',[]).append(1)d.setdefault('a',[]).append(2)d.setdef

系统 2019-09-27 17:46:19 1952

Python

python获取list下标及其值的简单方法

当在python中遍历一个序列时,我们通常采用如下的方法:foriteminsequence:process(item)如果要取到某个item的位置,可以这样写:forindexinrange(len(sequence)):process(sequence[index])另一个比较好的方式是使用python内建的enumerate函数:enumerate(sequence,start=0)上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文

系统 2019-09-27 17:46:14 1952

Python

在Python的Django框架下使用django-tagging的教程

django使用app机制来实现组件的重用,充分的利用已有的app可以极大的简化开发工作。目前django下的app虽然还不够丰富,却也还是有部分不错的。django-tagging就是一个不错的app。现在tag的应用非常广泛,tag基本上成了各网站的必备项目之一,django-tagging就是一个提供tag功能的app。django-tagging提供的功能非常丰富,使用起来却十分简单。下面我就介绍一些常用的用法,让大家对该app有个基本的了解,更详

系统 2019-09-27 17:46:09 1952

Python

构建Python包的五个简单准则简介

创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一

系统 2019-09-27 17:45:42 1952

Python

利用Python自动监控网站并发送邮件告警的方法

前言因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了。这里用的是python3.5需要安装的插件:1、smtplib:发邮件需要用到2、pycurl:访问网站时会需要用到3、linecache:在读取txt网站清单时需要用到具体思路:python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.tx

系统 2019-09-27 17:38:41 1952