简介在这篇文章中,我将向大家演示怎样向一个通用计算器一样解析并计算一个四则运算表达式。当我们结束的时候,我们将得到一个可以处理诸如1+2*-(-3+2)/5.6+3样式的表达式的计算器了。当然,你也可以将它拓展的更为强大。我本意是想提供一个简单有趣的课程来讲解语法分析和正规语法(编译原理内容)。同时,介绍一下PlyPlus,这是一个我断断续续改进了好几年的语法解析接口。作为这个课程的附加产物,我们最后会得到完全可替代eval()的一个安全的四则运算器。如果
系统 2019-09-27 17:49:09 2088
因为最近接触到调用新浪微博开放接口的项目,所以就想试试用python调用微博API。SDK下载地址:http://open.weibo.com/wiki/SDK代码不多十几K,完全可以看懂。有微博账号可以新建一个APP,然后就可以得到appkey和appsecret,这个是APP获得OAuth2.0授权所必须的。了解OAuth2可以查看链接新浪微博的说明。OAuth2授权参数除了需要appkey和appsecret还需要网站回调地址redirect_uri
系统 2019-09-27 17:47:08 2088
Python通过pip安装Django详细介绍经过前面的Python包管理工具的学习,接下来我们就要基于前面的知识,来配置Django的开发与运行环境。首先是安装Django(通过pip安装):pipinstallDjango输出的结果在我这里是这样的:Downloading/unpackingDjangoDownloadingDjango-1.5.2.tar.gz(8.0MB):8.0MBdownloadedRunningsetup.pyegg_info
系统 2019-09-27 17:38:21 2088
在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。在第5章,我们只是简要地说这是模块的manager。现在是时候深入了解managers是什么和如何使用了。总之,模块manager是一个对象,Django模块通过它进行数据库查询。每个Django模块至少有一个manager,你可以创建自定义manager以定制数据库访问。下面是你创建自定义manager的两个原因:增加额外的manager方法,和/或修ma
系统 2019-09-27 17:37:39 2088
不推荐用jsp,用servlet比较好,我这里有流程性的,你自己看着用吧,这东西用了2年,没发现问题。通用的导出类,支持html,Excel,PDF三种publicclassReportType...{publicstaticintHTML=1;publicstaticintEXCEL=2;publicstaticfinalintPDF=3;publicstaticvoidexport(HttpServletResponseresponse,JasperP
系统 2019-08-29 23:41:54 2088
今天是22岁的最后一天。几个月前,我从沃顿商学院毕业,用文凭上“最高荣誉毕业”的标签安抚了已经年过半百的老妈,然后转头辞去了毕业后的第一份工作,跟一家很受尊敬的公司、还有150万的年薪道了别,回到了上海,加入了“刚毕业就失业”俱乐部,开始了一天三顿盒饭的新生活,中间许多精彩剧情暂时略过。我肯定不是第一个做过这样事的人,也肯定不会是最后一个。所以在说自己的一些有趣故事前,我想借用大家(包括30岁甚至40岁以上的朋友)的一点时间和一点平和的心态,和大家分享过去
系统 2019-08-29 22:01:03 2088
0前言大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成200个文件一个文件夹,很简单的。我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。1环境说明Win10系统下Python3,编译器是Pycharm。需要安装shutil这个第三方库,直接pipinstallshutil就可以了。2代码先导入需要用到的库,os是用来切换路径和创建文件夹的。shutil是用来复制黏贴文件的im
系统 2019-09-27 17:55:16 2087
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异主要体现在以下几个方面:1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构;2.Python2打印时可以不加括号:print'helloworld',Python3则需要加括号print("helloworld")3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的
系统 2019-09-27 17:52:34 2087
导言篇:我的python环境是:python3.6.5这里我选择的GUI编程包是:tkintertkinker在python2.5以后就是自带包了,所以我们不需要另外安装tkinker相对与其他pythonGUI编程的包而已,是相对容易入手的代码篇:#这是系统的登录界面importtkinterfromtkinterimportmessageboxclassLogin(object):def__init__(self):#创建主窗口,用于容纳其它组件sel
系统 2019-09-27 17:51:14 2087
2048的python实现。修改自某网友的代码,解决了原网友版本的两个小bug:1.原版游戏每次只消除一次,而不是递归消除。如[2,2,2,2]左移动的话应该是[4,4,0,0],而不是[8,0,0,0]2.对游戏结束的侦测有bug,已经改正。2048game.py#-*-coding:utf-8-*-"""CreatedonTueJul114:15:392014@author:kelvin"""importrandomclassgame2048:tota
系统 2019-09-27 17:51:12 2087