创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一
系统 2019-09-27 17:45:42 2036
最近做一个小程序开发任务,主要负责后台部分开发;根据项目需求,需要实现三个定时任务:1>定时更新微信token,需要2小时更新一次;2>商品定时上线;3>定时检测后台服务是否存活;使用Python去实现这三个任务,这里需要使用定时相关知识点;Python实现定点与定时任务方式比较多,找到下面四中实现方式,每个方式都有自己应用场景;下面来快速介绍Python中常用的定时任务实现方式:1>循环+sleep;2>线程模块中Timer类;3>schedule模块;
系统 2019-09-27 17:45:28 2036
本文实例讲述了Python多进程方式抓取基金网站内容的方法。分享给大家供大家参考,具体如下:在前面这篇//www.jb51.net/article/162418.htm我们已经简单了解了”python的多进程”,现在我们需要把抓取基金网站(28页)内容写成多进程的方式。因为进程也不是越多越好,我们计划分3个进程执行。意思就是:把总共要抓取的28页分成三部分。怎么分呢?#初始ranger=range(1,29)#步长step=10myList=[r[x:x+
系统 2019-09-27 17:45:24 2036
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所
系统 2019-09-27 17:38:03 2036
异常(exceptions)是Python中一种非常重要的类型,它和语法错误不同,是在程序运行期间引发的错误。Python中内置了很多异常,如IOError,NameError,KeyboardInterrupt等,更多的异常可以点击这里。异常的意义在于提供一种更加优雅的运行方式,例如用Python编写一个计算器,如果用户输入不能计算的对象,则可以抛出异常,并进行处理,如下:whileTrue:try:x=int(input('PleaseInenterA
系统 2019-09-27 17:37:47 2036
文章先介绍了关于俄罗斯方块游戏的几个术语。边框――由10*20个空格组成,方块就落在这里面。盒子――组成方块的其中小方块,是组成方块的基本单元。方块――从边框顶掉下的东西,游戏者可以翻转和改变位置。每个方块由4个盒子组成。形状――不同类型的方块。这里形状的名字被叫做T,S,Z,J,L,I,O。如下图所示:模版――用一个列表存放形状被翻转后的所有可能样式。全部存放在变量里,变量名字如S_SHAPE_TEMPLATEorJ_SHAPE_TEMPLATE着陆――
系统 2019-09-27 17:37:44 2036
Event机制作为重头戏,在ActionScript3.0中加强了很多。更加统一、易用、标准、灵活。ActionScript2.0中有众多的事件实现机制:[1b]回顾和比较[/1b]AS1.0玩家最爱用onClipEvent(),on(),又方便又直接。缺点在于逻辑分散到了各个舞台元件中,难以管理和维护。更加别说代码重用了。别跟俺说可以Copy,Paste,这不叫重用,这叫低级。AS2.0中,增加了一些事件处理机制:1.回调函数:onLoad,onComp
系统 2019-08-29 23:53:44 2036
JUNIT4中,有几个地方要注意一下的,归纳之1@Test(expected=ArithmeticException.class)publicvoidtestDivide(){assertEquals(3,Math.divide(9,3));Math.divide(10,0);//除数不能为0,会抛出异常}junit4中不用trycatach了,用这样声明“@Test(expected=ArithmeticException.class)”Junit4就会
系统 2019-08-29 23:34:25 2036
今天,我们继续一系列文章,使用HTML5的canvas组件进行游戏开发。接下来,我们将开始学习如何添加动画以及一些更有趣的功能。我们的演示将包括一艘太空船飞越时空,并使用一个新的游戏元素–对话框。对话框将包含两页,我们的按钮用来切换对话框的页面,并隐藏对话框。你可以点击这里阅读这一系列教程的前一篇文章:html5游戏制作入门系列教程(二)。我们的将基于之前的程序和代码进行开发。这里有我们的演示和下载包:在线演示源码下载好吧,下载所需文件,让我们开始编码!步
系统 2019-08-29 23:32:33 2036
FreeMarker是QuakeWang推荐我使用的。刚学FreeMarker的时候,发现freemarker真的很棒!简单易用,功能强大。但是用它做了几个项目以后开始不爽了。一宗罪:freemarker的变量必须有值,没有被赋值的变量就会抛出异常,那个黄黄的freemarker出错页面,真是让人看了太难过了。freemarker的FAQ上面冠冕堂皇的说,未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名,或者其他变量错误。但是实际的效果是:
系统 2019-08-29 23:30:00 2036