【python有意思吗?】

Python与机器学习 徐 自远 530℃

【python有意思吗?】

当然有意思了

作为一个从小就爱玩游戏的孩纸,小时候对游戏最深的印象就是魂斗罗、超级玛丽,一不小心就暴露年龄了。最近发现GitHub上一个非常Nice的项目,使用Pygame来写了一个超级玛丽

地址:justinmeister/Mario-Level-1

游戏试玩

多的不说,来体验试试,下载

开始:有两种开始游戏的方法,执行py文件或者exe文件 按键:A:跳跃、S:火球/加速、 键盘上的左右键控制方向 依赖:Pygame 1.9.1 (Python 2)、Pygame 1.9.2 (Python 3)

可以选择一人游戏还是两人游戏

“Enter”开始游戏,响起了熟悉的音乐,右上角有时间记录

可以看到,这款游戏和以前玩的基本一致,包括画面、音乐、成长等等。因为目前作者只写了第一关,所以过了第一关就会显示“GAME OVER”。 然我们看看源码中的文件, data目录下是游戏运行的代码,resources则是游戏运行的资源,字体、图片、音乐等。

代码欣赏

超过时间,游戏结束,作者是这样写的

游戏设计元素

作者还录制了视频 https://www.youtube.com/watch?v=HBbzYKMfx5Y还有一个mini-RPG,justinmeister/The-Stolen-Crown-RPG

同样基于Python和Pygame

Python做游戏开发不只是Pygame一个库,还有下面超赞的游戏开发库。

  • Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网
  • Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。Free 3D Game Engine
  • PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。PyOgre
  • PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。PyOpenGL — The Python OpenGL Binding
  • PySDL2:SDL2 库的封装,基于 ctypes。Welcome to PySDL2’s documentation!
  • RenPy:一个视觉小说(visual novel)引擎。The Ren'Py Visual Novel Engine

完整内容:https://www.zhihu.com/question/33646570/answer/193952180

(身边同学面google的真实事例)

面试官:请实现一个中序表达式求值程序,支持四则运算和括号。比如输入’3+6/(3-2)’,输出9。

同学:我什么语言都能用吗?

面试官:是的,但最好常用。

同学:那我用python行吗?

面试官:没问题。

同学:eval(x)

面试官:(冷汗。。)同学你看看,这个程序是不是有点。。

同学:啊!不安全对吧。(用正则表达式加了个检查,看是不是仅含四则运算和括号的表达式)你看,我还带语法报错,除零检测,浮点精度支持。是不是你都被我的机智感动了!

面试官:(瀑布汗)额。。好吧你过了。。

由于我的python刚结课,所以对这个问题比较有发言权吧。下面我就来谈谈我对python的看法:

我曾自己接触过几门语言,有最经典的C,比之难点的C++、java也都了解一点。但是在此之前从未系统的学习过一门计算机语言,所以当我知道本学期有一门python课程的时候是非常激动的。老师很棒,教材也不错,当然,作为一门新兴的语言,在国内其参考教材十分有限,何其有幸我们的老师恰好是我们所使用教参的主编,所以老师在python教学中对这门语言的精髓把握的十分精确。作为讲台之下的一个,我也就有不少感触。首先,python语言的最基本的特点就是优雅,没错一门汇编语言,这里用优雅来形容,举个简单的例子:对x,y的值进行互换,在python中其代码只有一行:x,y=y,x,你再也找不到比这更优雅的交换赋值的方法了;另一方面其可读性是任何语言也无法比拟的;再之其强大的绘图能力也让人敬佩,除了基本的turtle制图、Graphics图形库,还可引用广泛的第三方库,这些可以画出世界上最美的图形……最后我要强调一下python最值得我们去学的一点,即是它有强大的第三方库,而且,而且它在日益增多,增长速度也绝对超乎你的想象。所以我认为未来是属于python的时代。

当然python也有它的不足之处,就是慢,比C、C++、java都慢,这一点是限制它的一点,因为在不少领域对语言的运行速度都有极致的要求,你比如说导弹拦截程序,分秒必争,显然python在第一步就会被pass掉。但是对于其它领域,你比如说桥梁参数的运算,我相信20分钟和18分钟它差不了多少。第二点就站在功利的角度来谈了,就是目前计算机等级考试中没有python这个选项,当然我相信10年之后,或许是5年,我们就可以拿到python的计算机等级证书啦。

综上,对于业余的计算机语言爱好者、或是刚入门的学习者来说,我认为python以它的优雅、简洁、有趣以及强大的第三方库完胜其它语言。所以,给你和python一个机会,花上一星期,足够了。最后以Bruce Eckel的一句话结尾吧

Life is short, you need Python.

https://www.wukong.com/answer/6462967439817703694/?iid=14134350181&app=news_article&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share

 

转载请注明:徐自远的乱七八糟小站 » 【python有意思吗?】

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号