Pythonistaを購入してプログラムを一つ作るまで

「面白そうだから」というだけの理由でPythonistaを買いました。Pythonは書けませんし読めません。買った翌週に初めてのセールで安くなったのはまあいい。

Pythonista 1.3

カテゴリ: 仕事効率化, 教育
現在の価格: 600円(サイズ: 34.3MB)
販売元: Ole Zorn
リリース日: 2012/07/10

iTunesで見る + iPhone/iPadの両方に対応

引用元:Python – Wikipedia

Python(パイソン)は、オランダ人のグイド・ヴァンロッサムによって開発されたオープンソースのオブジェクト指向スクリプト言語。

PythonistaはPythonのiOS開発実行環境アプリです。

Hello Worldを書くまで

アプリに入っているサンプルを一通り試してもわからないものはわからないので、Pythonの勉強をする事にした。

俺はJavaScriptでとりあえず動くものが書けるのと、苦しんで覚えるC言語を一通り見た程度の知識しかない。それ以前にもいくつかの言語を習得しようと考えて本を買っては放り投げたり枕にしてきた過去があります。俺の知識はその程度です。

普通に考えて基礎中の基礎からだなあと。まず最初に見たのはドットインストールのPythonのレッスン。

全部で31回もありますが、一つの動画は3分以内なので気楽に見られる。仕事の合間も入れて2日で見終わりました。

動画の内容はとてもわかりやすかったです。過去の残念な経験や、MyScriptsでスクリプトを書いていた経験が助けになったと思います。

Pythonは綺麗なコードが書けるとか昔見かけた気がするけど、こういう事だったのか。

さらにサンプルを試す

独特な書式や馴染みのない概念もありましたが、何となくのまま先へ進むことに。ある程度触れるようになってからの方が理解は早いと思いました。

Pythonista公式サイトのフォーラムにサンプルがたくさんあります。ただどれも上級者向け(に見える)。Pythonista自体がPythonを理解している人が使うアプリな気もしますが。

あとはMacStoriesのPythonistaの記事にも実用的なサンプルが充実しています。初心者にもわかるようなものもあって助かった。

この2つのサンプルをざっと試している間に、作りたいものが浮かんできた。幸いな事に似たサンプルがあったので、それに絞ってコードを詳細に見ていくことに。importされているモジュールを調べて、何がどう動くのかを調査。100%ではないけど、大体理解できた。

早速何か作る

マニュアルを見ながらトライ&エラーで基本的な事はできるようになってきた。作りたいものものもあるので早速取り掛かる。

作りたいのはスクリーンショットを加工するスクリプトです。

  • カメラロールから画像を2つ読込
  • ステータスバーを削除
  • 画像をリサイズ
  • 横に2枚並べて一つの画像にする
  • カメラロールに保存
  • 処理が完了したら写真アプリを開く

こういうもの。

30分の試行錯誤の末完成。起動するとカメラロールが開くので画像を選択(を2回)。

Photo

少し待って処理が完了したら写真アプリが起動する。

Photo

できた時ちょっと感動しました。案外いけるもんだ。

これに今後フォーマットの変換と圧縮率の変更とか色々と機能を追加していこうと思っています。あとはMyScriptsで作ったものを移植していったらある程度Pythonが身に付くんじゃないかと。皮算用。

スクリプトはGistにアップロードしたので興味のある方はどうぞ。

PythonistaにはPythonのマニュアルが入っていて、見ながらコードを書けるようになっています。これには随分助けられました。あとはやはりPythonの公式サイトのドキュメントが役に立ちます。日本語版もある。

あとがき

大体の事はMyScriptsで可能だし、処理も速いです。なので画像編集等MyScriptsでは難しいことをPythonistaでやろうと、というかやれたらなと思っています。

ちなみに、今回作ったスクリプトみたいなことはImageKitでできます。

ImageKit 1.0.4
カテゴリ: 写真/ビデオ
現在の価格: 100円(サイズ: 634KB)

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中