当前位置:首页选手心得 正文
永不放弃
2014/4/23 11:52:21 点击: 15422

就在提交参赛作品后不久,我突然想起孟老夫子那句经典的话“天将降大任于斯人也,必先苦其心志……”,当然上天并没有要将多么重大的责任交付与我,但既然让我与Python这门程序语言结缘,我不想让它和我随着这个小小参赛作品的完成就缘分而尽了。要真是这样的话,整个参赛中努力学到的一些关于Python的知识也就付诸东流了!

业职业术学  青争队  张清

2013年的夏天,酷暑的炎热并不次于往年。说实话,要“牺牲”一个惬意的暑假,我还真有些不舍,但考虑到参加齐鲁软件大赛是一个可以多方面提升自我的机会,我又毅然决然地与伙伴们开始了大赛暑期夏令营生活。今回想起有苦也有甜的参赛过程,不禁想用不甚华丽的语句,将之撰写成文,也可以鼓励后来者。

【前】

经过大赛组织的巡回报告演讲,我对大赛产生了浓厚的兴趣。看到以往获奖的学长们在台上演讲,套用业界常用的一句话“我觉得自己的专业知识水平还菜”,便暗下决心,一定要通过大赛来不断学习,不断充实自己,让自己的专业水平和动手实践能力更上一层楼。

好的,废话不多说!首先来谈谈我们的组队,因为彼此之间的互相信任,我与其他四位伙伴迅速组成了我们可爱的“青争队”。但是,组队虽然快捷,挑选合适的命题却不是想象中的那么简单,由于大一还没结束,故知识水平确实有限,看看哪个命题都觉得不是那么简单。可能上天注定让我们与Python结缘,最终确定了《基于python的游戏和应用开发》这个命题。

但是确定命题后就可以万事大吉了吗?不然,理想很美好,现实很残酷。我们的参赛历程也可谓是步步艰辛啊!首先,我们不像人家选择《智能手机程序开发》命题的同学那样这么顺利,他们的目标很明确,在学过Java程序设计的基础之上做起智能手机来就容易了很多,而我们呢,最初连Python是什么、Python可以干什么都不知道,更别谈如何下手了!短时间内,我们也就顶多了解到Python是一种胶水语言,其余的一无所知了!

不过,我们最应该感谢北京中谷运维公司的Milo老师,在我们最迷茫的时刻,他要在网上进行授课,正好讲的是Python基础,对我和队友们来说这可是一个福音。于是,我们晚上在他上课的时候一定会到网络教室去听他的课程,渐渐的我们对Python这么语言有了初步的认识,了解到它其实也是一门面向对象的程序设计语言,而且相对于其它诸如Java、C++之类的高级语言,反而代码更简洁、功能更强大!

当我们认识到python可以实现很多强大的功能之后,我们又为到底要用Python语言来做什么样的程序及实现什么样的功能犯了难......

【中】

时间过得好快,转眼间暑假就伴随着期末的结束而来临。我虽然也常与队友不断开小会讨论该做什么样的程序,期间不可避免地会产生一些分歧。我们尝试过各Python可以实现的功能,如web应用、科学计算、网络爬虫、游戏等等都做过,可一直就是没有结果。这时,好不容易盼来学校为我们分配的各个命题的指导老师,令人沮丧的是,指导老师也没有听说过Python这门语言,他只能在我们前进的道路上给我一些方针性的建议,然而在真正的实践开发上却帮不上我们,这就预示着前方的道路该怎么走,还得靠我们自己。

我们怀着忐忑不安的心情正式迈进软件大赛的大门,在山东师范大学举办的一场“齐鲁软件大赛及外语大赛” 启动大会可以说是我们队的转折点,听了专家们的报告演讲使我们心中又重新燃起了希望。

回来之后,我与队友们进行了深刻的总结。原因还在于我们心太浮躁,好高骛远,总幻想着能短时间内能做出功能多么强大的App。于是我们把目标仅仅锁定在基于Python的GUI图形界面程序设计。

定位目标后,由于对GUI还比较陌生,我们决定先不着急写程序代码,先拿出7-10天的时间来学习这方面内容。在这短短的七八天之内,我们又对可以实Python GUI编程的tkinter、wxPython等几个常用的模块进行了学习,不断从论坛、Python专题网站、QQ群等各种途径获取相关资源。在这里我特别想说的是,要想学好编首先必须学好英语,尤其是IT类英语。由于Python这门语言在国内做开发的相对较少,故而相对来说比较精华的教程都是英文版的,这对于英语词汇量掌握程度不高的我们无疑又添了新的麻烦。当然,这也没能阻挡我们前进的脚步,只好硬着头皮继续学习。说实话,参加完大赛我的英语水平也有了明显提高。

经过在网上不断与别人讨论,我们发现PyQt这个模块更适合我们的开发目标,我们又稍稍降低了难度点。

在最终的代码实施的过程中,也使我们真正掌握了Python中面向对象(即一切万物皆对象)的原理。一开始,我们做起来也是极不顺手,毕竟在此之前我们只接触过Java这门程序设计语言,而Java多讲的是控制台编程,而今初次接触GUI设计,技术自然显得就不够娴熟了。

后来,经过不断的探索,GUI编程无非就是一些用图形和控件组合成的WinForm窗体,各方面都准备妥当之后,只要通过相应的技术,把相关的一些控件转换成代码,这样每个控件在整体代码库中就作为一个对象而存在了。

当然,总体程序编写完成之后,就像一件饰品一样只是做出了基本的模型。完美的饰品如果没有后期的精雕细琢是不可以的,还要注意对整个程序的小细节进一步加工,毕竟“细节决定成败”嘛!

【后】

     就这样,随着大赛暑期为期一个月的夏令营训练活动的结束,我们也最终顺利地完成了我们的参赛作品。

     就在提交参赛作品后不久,我突然想起孟老夫子那句经典的话“天将降大任于斯人也,必先苦其心志……”,当然上天并没有要将多么重大的责任交付与我,但既然让我与Python这门程序语言结缘,我不想让它和我随着这个小小参赛作品的完成就缘分而尽了。要真是这样的话,整个参赛中努力学到的一些关于Python的知识也就付诸东流了!

     于是,我又生了一丝将Python继续学习开发的意念,加之此次参赛作品获奖的好消息更加是我一信心。

Python之所以能成强大的程序设计语言,是因为它还可以用到更多的它还有更多的知有待我去究。譬如,如前文中我提到的,Python可以通django、Tornado等模块实现web开发,可以编写许多操作系维护工具,可以做游戏开发,可以实现3D建模;再往中等来说,可以用NumPy 做科学计算,可以做比神奇网络爬虫、实现网络通信等;至于高Python可以Azure实现算、hadoop等做大开发编写机器人操作指令程序等等。

Python的强大功能胜数GUI设计则为诸多功能的九牛一毛。我愿本次参赛历程作人生中的一奠基石,其中的酸苦辣时时刻刻激着我,鼓舞着我。我愿定信念,也分,Python向着更更广的继续努力下去,永不言弃!

Copyright 2007-2014 济南计算机学会.All Rights Reserved 鲁ICP备09070135号
济南计算机学会维护管理
联系电话:0531-88391234