第一步:标记化处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。首先,我定义了一些标记(数字不在此中,它们是默认的标记)和一个标记类型:token_map={'+':'ADD','-':'ADD','*':'MUL','/':'MUL','(':'LPAR',')':'RPAR'}Token=namedtuple('Token',['name','value'])下面就是我用来标记`expr`
系统 2019-09-27 17:49:09 1973
下面看下python2.x和python3.x的区别1.大环境不同python2.x:源码重复,不规范python3.x:整合源码,更清晰优美简单2.默认编码不同python2.x:默认编码ASCII编码python3.x:默认编码UTF-83.python3.x没有长整型python2.x:有长整型longpython3.x:long整数类型被废弃,统一为int4.打印方式不同python2.x:print语句,print空格+打印内容python3.x
系统 2019-09-27 17:48:49 1973
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 1973
最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到内存释放问题,导致越累越大1.python类变量在多线程情况下的是共享的2.python类变量在多线程情况下的释放是不完全的3.python类变量在多线程情况下没释放的那部分内存是可以重复利用的importthreadingimporttimeclassTest:cache={}@classmethoddefget_value(self,key):value=Test.cache.
系统 2019-09-27 17:48:22 1973
前一段时间一直在研究如何用python抓取搜索引擎结果,在实现的过程中遇到了很多的问题,我把我遇到的问题都记录下来,希望以后遇到同样问题的童鞋不要再走弯路。1.搜索引擎的选取选择一个好的搜索引擎意味着你能够得到更准确的搜索结果。我用过的搜索引擎有四种:Google、Bing、Baidu、Yahoo!。作为程序员,我首选Google。但当我看见我最爱的Google返回给我的全是一堆的js代码,根本没我想要的搜索结果。于是我转而投向了Bing的阵营,在用过一段
系统 2019-09-27 17:48:21 1973
分号不要在行尾加分号,也不要用分号将两条命令放在同一行.行长度每行不超过80个字符例外:长的导入模块语句注释里的URL不要使用反斜杠连接行.Python会将圆括号,中括号和花括号中的行隐式的连接起来,你可以利用这个特点.如果需要,你可以在表达式外围增加一对额外的圆括号.Yes:foo_bar(self,width,height,color='black',design=None,x='foo',emphasis=None,highlight=0)if(wi
系统 2019-09-27 17:48:08 1973
API:statuses/public_timeline返回最新的200条公共微博,返回结果非完全实时CODE:#!/usr/bin/python#-*-coding:utf-8-*-'''Createdon2014-7-3@author:guaguastd@name:statuses_public_timeline.py'''defpublic_timeline(weibo_api,count):#public_timeline=weibo_api.st
系统 2019-09-27 17:48:06 1973
下面是实现代码#coding:utf-8importtime,serialfromstructimport*importbinasciifile=open('E:\\1.bin','rb')i=0while1:c=file.read(1)#将字节转换成16进制;ssss=str(binascii.b2a_hex(c))[2:-1]print(str(binascii.b2a_hex(c))[2:-1])ifnotc:breakser=serial.Seri
系统 2019-09-27 17:48:02 1973
Matplotlib简介Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。最初是模仿了Matlab图形命令,但是与Matlab是相互独立的.通过Matplotlib中简单的接口可以快速的绘制2D图表初试MatplotlibMatplotlib中的pyplot子库提供了和matlab类似的绘图API.复制代码代码如下:importmatplotlib.pyplo
系统 2019-09-27 17:47:25 1973
还是分析一下大体的流程:首先还是Chrome浏览器抓包分析元素,这是网址:https://www.douyu.com/directory/all发现所有房间的信息都是保存在一个无序列表中的li中,所以我们可以先获取一个装有li的element对象的列表,然后在对每个element逐一操作分析斗鱼的翻页,有一个下一页按钮,是个li,class="dy-Pagination-item-custom",但是当烦到最后一页的时候,class="dy-Paginat
系统 2019-09-27 17:47:21 1973