暗号通貨.py

ビットコインやブロックチェーンの技術に衝撃を受け、プログラミングの勉強を開始。現在はPythonを勉強中。

Programming Python

iPhoneだけでプログラミングができるPythonista 3で遊んでみた

1日1プログラミングに挑戦しようと決めてから2日で挫折しました。

三日坊主にすらなれないプログラミング初心者ですが、とてつもなく素晴らしいiOSアプリに出会ったので紹介したいと思います。

このアプリなら通勤時間やちょっとした移動などのスキマ時間でもいつでもプログラミングができます。

その名も「Pythonista 3」

Pythonista とは

PythonistaはiOSデバイスでPythonプログラミングができる統合開発環境です。

Pythonista 3 - omz:software

有料アプリで1200円なのですが、私は600円の半額セール時に購入しました。

少し触った程度ですが、1200円でも購入する価値は十分あると思います。

Pythonを愛用するプログラマーを「Pythonista」と呼ぶらしいですが、これがそのままアプリ名になっています。

Pythonistaは今までもありましたが、最近新たにPythonista 3としてリリースされました。

Pythonは2系と3系がややこしくて有名ですが、私が利用しているライブラリも全て3系へ移行していますし、逆に移行していないライブラリはヤバイんじゃないかと初心者ながらに感じています。

Pythonista 3よりPython3系のサポートを開始しており、3.5.1と2.7.5のどちらも使うことができます。プログラム実行時に2 to 3、3 to 2へ切り替えすることも可能なことも便利な機能の1つです。

このPythonista 3がマジでヤバイです。iPhoneのみでプログラミングが実行できます。

コードを書くためのエディタ、実行結果が見れるコンソール、豊富なPythonライブラリ、プログラミングするための環境が整いすぎています。

何もいじらずに利用できるライブラリ、モジュール一覧はコチラ。

Pythonista Modules

iOSデバイス上の自分の保存している「写真」にアクセスして画像を操作したり、DropboxやEvernoteと連携することも可能です。

この興奮は言葉ではなかなか伝わらないので実際に例を見てもらいましょう。

PILを使って画像の色を変更する

以前の記事でカビゴンの画像の色を変更しました。

Python画像処理ライブラリPillowを使って画像の色を変更する

これをiPhoneのみでPythonista 3を使ってやってみます。

基本は3画面で左側がファイルブラウザ、真ん中がエディタ、右側が実行した時のコンソール画面になっています。

まずは画面左のファイルブラウザ。Trash、Modules & Templates、Examples、Welcome.md、test.docktestはデフォルトで入っています。それ以外は私が作成したファイルです。

unnamed-3

 

次に真ん中のエディタ画面。このエディタ画面がすごく完成度が高いです。

コード補完機能やカラーリング機能、音声入力まであります。

音声入力にチャレンジしてみましたが、私の発音が下手すぎてimportすら認識してくれませんでしたw

英語ペラペラな人はチャレンジしてほしいです。

右上の「▷」マークで実行され、右側のコンソール画面に結果が表示されます。

unnamed-2

エディタ画面のコードです。

補完機能が強力なので、文字数多くても全然楽ですよ。


<pre>import photos
all_assets=photos.get_assets()
last_asset=all_assets[-1]
img=last_asset.get_image()
img.show()

from PIL import Image
r,g,b=img.split()
convert_image=Image.merge('<wbr />RGB',(b,r,g))
convert_image.show()

photosライブラリをインポートして、get_assetsメソッドで私のiPhoneの「写真」にアクセスします。

Pythonistaで写真にアクセスできるように、[設定]→[Pythonista]→[写真]をオンにしておきましょう。

保存されている中の最後の写真を取得し、showメソッドで表示します。

5行目までの実行結果は以下のようになります。

右側のコンソール画面です。この画面でPython インタラクティブ入力をすることもできます。

unnamed-1

 

先日行ったゴルフの画面が表示されました。

バックスピンがちょっとだけかかっているのが嬉しくて撮ったやつです。笑

この画像をPillowライブラリを使って色の変更を行います。

先程のコードの7行目からですね。

実行結果です。

unnamed

緑から青に画像の色を変更しました。

スポンサーリンク

adsense

スポンサーリンク

まとめ

Pythonista 3を使ってiPhoneのみで保存されている写真から画像を選択し、その色を変更しました。

プログラム自体は簡単なものですが、これをiPhoneのみでできたことは相当すごいことだと思っています。

他のプログラミング言語のiOSアプリでのPythonista 3のような統合開発環境も、私が調べた限りほとんどなさそうでした。

Pythonista3では機能拡張によりpipコマンドなどを利用し、外部モジュールをimportすることも可能なようなので可能性は無限です。今までパソコンで行っていたことがiPhoneのみで完結する時代を予感させました。

以前若者はパソコンが使えないという記事が話題になりました。

「PCを使えない学生が急増」の問題点 (1/5)

私はこれは必要性の問題であってパソコンがなくてもスマートフォンのみで仕事ができるのであれば問題ないと思っています。

というか、スマートフォンで全部できれば楽ですよね?全てスマートフォンというのは無理でしょうが、支払いとか決済も含め可能な限りスマートフォンのみで完結させたいです。

先日メタップス社長の佐藤航陽氏の著書「未来に先回りする思考法」を読んで共感したところがあったので紹介します。

佐藤氏は人口800万人程度の小国であるイスラエルが何故「Viber」や「Waze」などのヒットアプリを作り、継続的なイノベーションを生み出せるのか疑問に思ったそうです。

私 は、 一度 現地 の ベンチャーキャピタリスト に、 「どうして 人口 800 万人 の 国 が、 こんなに うまく、 継続 的 に イノベーション を 生み出せる のか?」 と 聞い て み た こと が あり ます。

する と、 とても シンプル な 答え が 返っ てき まし た。 「Necessity( 必要 性)」 だ と。

中東 は 政治的 な 緊張 関係 が あり、 周辺 国 とも 争い が 絶え ませ ん。

その ため 政府・民間・大学・軍 など 全員 が 協力 して 収入 を 確保 し、 アメリカ を はじめ と する 諸 外国 への 影響力 を 保ち 続け なけれ ば、 国 として 危機 に 陥っ て しまい ます。

つまり、 イノベーション を 起こす ため の 必要 性 が、 どこ より 切実 に 存在 し て いる の です。

蛇足ですがイスラエルは金融国としても有名で、暗号通貨でもGetGemsなど有名なスタートアップが存在しています。

現時点では成功しているとは言い難いですが。GetGemsについては以前書いています。

広告のあり方を変える可能性を秘めたGems

かなり方向がズレてきましたね(笑)

結論としてはPythonista 3は色々な可能性を感じさせる素晴らしいアプリだということです。

まだ自分も触り始めたばかりなので、これから様々な機能を試していって記事にしていきます。

Pythonista 3 - omz:software

参考記事

Pythonista 3

Pythonista Modules

iOS上で動作する革命的ものづくり環境「Pythonista 3」の魅力をとくと語る

Pythonista 3にシェル、Dropbox同期・ダウンロード機能などAppleが許さない機能を追加する

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin

-Programming, Python