Pythonista:移动端的Python好帮手

编程派微信号:codingpy
推荐一款在移动端进行Python编程的APP:Pythonista,很早之前就曾试着使用过,可以算是iOS下最好的Python编程环境。今天分享的这篇文章,比较全面地对这个APP进行了介绍。
作者:themesimple(Twitter ID)
入门一种编程语言,重大的不是它有多容易。而是在于它是不是容易玩,是不是好玩。Python 符合容易玩的特点, 而Pythonista 能使 Python 在 iOS 上面变的好玩。
虽然这款 App 售价为 6.99$ 但啊我觉得还是超级值得。由于它让 Python 在 iOS变的有用了,变的好玩了。
我什么时候会使用 Pythonista ?
初学 Python 的时候也就三分钟热烈,跟着教程学了没多长时间就放弃了。当时脑袋一热买了 Pythonista 但一直没怎么用。直到有一天我看到 Twitter 上面@zucknet 转发的 Macstories 上 Federico 写的一段用 Python 拼接图片的小脚本,才重新琢磨 Pythonista 和 Python。
Pythonista 自带了不少模块(Modules)。能使 Python 和 iOS 很好的结合起来。可以用很短的几行代码来实现一些很好玩也很实用的功能。
所以我在学习 Python、打发时间、使用自己用 Python 写的的小工具的时候才会用Pythonista。(像一个玩具)
1.Pythonsita 拥有良好的交互
一、「可见区域」的交互
在「可见区域」交互是很赞的。函数填充、语法高亮等编辑器必备的功能就不必提了。其亮点在于三个:
1.自带输入拓展
在手机上面输入一些字符是真心不方便。而Pythonista 已经思考过这个问了。他们给 Pythonisya 自带了输入法拓展栏。它看上去是这样:

(iPad 版本的更加好用,暂时无截图。但是可参见 Mactories 的这篇文章中的图 )
这使我们在手机上写代码方便了许多。(当然你要大量输入代码写工程还得用电脑)
2. 模块(Module)和函数(Function)检视
就 Python 来说常常需要我们自己写一些函数。而写多了自然不好找。而 Pythonista 却很好的解决了这个问题。如图:

它在顶部设置了按钮。一键即可查看所有的自建函数和自建模块。
3.集成文档
在写 Ptython 的时候忘记函数是干嘛或者想要查询某个模块的用法的话一般都是用 Google 解决的。而你在 Pythonista 中写代码不必那么麻烦。它自带完整的官方文档以及教程。有任何不会的函数以及模块可以选中函数点击 help:
查询函数用法:

查询教程:

二、「不可见区域」的交互
这个交互并不是指界面上的,而是指代码层上的。
1.Pythonista 自带模块
例如我要使用 Python 读取一个图片进行操作然后储存。在正常的 Python 环境下我们需要以下几个步骤:
-
得到图片的详细路径。
-
使用函数打开路径所指向的文件。
-
使用函数对图片进行操作。
-
使用函数并填写完整无误的路径以及文件名保存图片。
那一堆恼人的路径让我觉得好麻烦。这语言真傻!而 Pythonista 通过自建模块避免了这种问题,并且更好的与iOS结合起来。在 Pythonista 中的步骤如下:
-
导入 Photos 模块,通过 photos.pick_image() 函数用触摸的交互方式选择图库里面的图片。(就像平时用微信发图片一样)
-
用函数对图片进行操作。
-
使用 photos.save_image() 将图片保存到图库。
Pick_image() 选择图片:

这对于初学者来说是超级友善的一个模块。类似的模块还有 20 多个。可以用那些模块的函数来调用剪切版、推送、速度传感器、GPS、keychian 等iOS特性和传感器。还有bs4、Evernote、Markdown 等模块。(此处有遗憾后文会提及)
正是这些模块给 Python 带来了许多趣味。你不必安分守己的从 Print 的用法开始学。而可以通过下载别人的我代码(对于我来说就是 Federico 的代码)来学习各种函数的作用。然后使用学到的知识创造一些有意思的小玩意(此文的所有合成图片都是用 Pythonista 合成的)。这能把你从无趣的文字代码中拯救出来。给予 Python 以活力。
值得单独一提的模块是 UI 模块。Python 是不能独立绘制 UI 的。必须借助各种 UI 模块才能绘制出来。而 Pythonista 自带的 UI 是一个很好用的一个模块。可以很方便的绘制Python 程序的 UI。给 Python 增添了不少可玩性。

当然还有更加强劲的 NumPy, SymPy, matplotlib 等模块等着我们去发现探索!
2.URL Scheme 支持
URL Scheme 是 iOS 的 App 之间沟通的重大方式。其中通过使用 URL Scheme 而大受欢的软件有不少。其中包括:Drafts, Launcher, Launch Center Pro, Fantastical 等一系软件,他们已经构成了一个 URL Scheme App 生态圈。 Pythonista 添加对 URL Scheme 的支持则代表着加入这一生态圈。使代码能跑出 Pythonista 做到更多的事情,让代码变的更加有趣。(URL Scheme 也需要学习。也是一个很好玩的东西)
为什么选择 Pythonista?
回答很简单。别的都太烂。要不只是一个编辑器。要不只是一个 python 环境对于手机端没任何优化。用起来简直折磨人。
Pythonista 的缺点是什么?
1.不可自行安装模块
前面提到过 Pythonista 有个遗憾。由于iOS的限制我们 不能自行安装三方模块 。也就意味着你用的模块和函数不能超出 Pythonista 自带的范围。不过我认为对于入门来说这些自带的函数和模块已经足够了。不仅在了解 Python 最基本的写法后,通过 Google 加练习在常规环境下写 python 必定不成问题的。
2.手机屏幕太小太蛋疼
这个就看个人定位了。对于我来说 Pythonista 是我手机 URL Scheme 生态圈的一部分和熟悉 Python 用的一个 App。而不是正经写 Python 的地方(玩具而已)。我无趣时候或者有空时候都能拿出来玩玩。仅此而已。要正经写程序还得回归电脑。(当然也有大牛在 Pythonista 写了不少厉害的东西)
3.教程和文档全是英文的
骚年!人生苦短快用英语!就我看来文档当中的单词都不会太难而且重复较多。还算很容易看的 :)除非英语的确 烂的够可以了。那么只能去 Google 函数的用法了。但是 Pythonista 仍旧是一个很好的选择。
最后
这里我提到的都是 Pythonista 为什么能让我们容易学习 Python 的缘由。但是 Pythonista 并不止步于此。还有更多更加强劲的功能等你来发现和创造。
编程派略有编辑、删减。



