4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonista3 やろうぜ!標準機能をみてみる 〜 内部外部のデータ編

4
Last updated at Posted at 2022-12-01

この記事は、Pythonista3 Advent Calendar 2022 の 02 日目の記事です。

👇 : 01 日目

👇 : 03 日目

一方的な偏った目線で、Pythonista3 を紹介していきます。

ほぼ毎日 iPhone(Pythonista3)で、コーディングをしている者です。よろしくお願いします。

以下、私の 2022 年 12 月時点の環境です。

--- SYSTEM INFORMATION ---
**System Information**

* Pythonista 3.3 (330025), Default interpreter 3.6.1
* iOS 16.0.2, model iPhone12,1, resolution (portrait) 828.0 x 1792.0 @ 2.0

他の環境(iPad や端末の種類、iOS のバージョン違い)では、意図としない挙動(エラーになる)なる場合もあります。ご了承ください。

ちなみに、model iPhone12,1 は、iPhone11 です。

はじめに

前回の記事は、Pythonista3 でコーディングをするにあたり、標準でどんな機能があり、どう使えば便利なのか?を紹介しました。のつもりが、講釈垂れると言う名の、責任弁明用文増し増しでお送りしました。

(私の性格上しょうがなく抑えられない部分もありつつ)なるべく皆さんに有益な情報をお届けできるような記事を目指します。

今回は、「内外部データ編」と題し、コードを書く前の場面で「こんなのあるよー」といった内容をお送りできればと考えています。よろしくお願いします。

Pythonista Documentation を読んでみよう

英語です。私は機械翻訳を使いながら読んでいます。

コンソール画面から(?) アイコンを押すと Documentation が出てきます。

img221114_105106.gif

サイトにもあります。

Overview — Python 3.6.1 documentation

サイトのトップから、アクセスするには 1 番下スクロールするとDocumentation のリンクがあります。

img221114_105602.png

Pythonista3 から Documentation を開いている場合、[Open in Editor] をタップすると、サンプルコードが新規ファイルとして生成されるので、気軽に挙動を確認できて便利です。

img221119_152643.png

主に私がよく、Documentation で参照している所を紹介します。

Pythonista Modules

Additional modules developed specifically for iOS

iOS 専用に開発された追加モジュール

i(Pad)OS の API を Python で呼び出せるように Pythonista3 側で、モジュールとして用意されています。

モジュールで用意されていない API もobjc_util モジュールを使い呼び出す事も可能です。

また、Pythonista3 から Pythonista3 のエディタ機能やコンソール機能を操作するモジュールもあります。

Extras 以下は、Python 標準モジュール以外で同梱しているモジュールの紹介があります。

Pandas って使えますか?」「使えません」

お馴染みの Numpy や matplotlib 、flask 等もありますが、バージョンが古いものや機能制限もあるので、実際に動かしてみて確認することが必要な場面もあります。

import numpy as np
import matplotlib
import flask

print(f'Numpy: {np.__version__}')
print(f'matplotlib: {matplotlib.__version__}')
print(f'flask: {flask.__version__}')

img221114_141610.png

img221114_141619.png

StaSh という、ユーザーが公開している、Pythonista3 を Shell のように使えるモジュールがあります。

Pythonista 3 に StaSh をインストールする。 - Qiita

これを使うと、pip コマンドが使えるようになりますが、対象モジュールのインポート方法がコマンドを叩いたり、別途インストールさせたりする内容のモジュールですと、インポートできません。

StaSh の使い方は、ここでは解説しません。

使いたいモジュールがある場合には、そのソースを読みに行き挙動を確認するなどしてみてください。

ソースを読むことでより一層理解が深まることでしょう ☺️

Script Library

右方向にスワイプをすると、Script Library のパネルが出てきます。

img221114_163912.png

img221114_164009.png

様々な、ファイルたちにアクセスするパネルです。

開きたいファイル上で、右方向にスワイプすると、新規タブとして開けます。

複数ファイルを跨いで編集したい時に便利です。

img221114_165218.gif

現在開いてるファイルをハイライトしてくれてるのも、わかりやすくていいですよね。

ちなみに、Documentation に

Pythonista is divided into three panels: The script library, the code editor, and the interactive prompt, which also contains the documentation viewer. You can switch between these panels with left and right swipe gestures.

と、script library と説明があるので script library と呼んで(指して)いいと思いますが、そのパネルの中にscript library があり、他にFavoritesや、External Files があるので、全体的に script library と呼んでいいものか?と悩んでしまいました。

script library

基本的にローカルで、作業するディレクトリになります。

Examples

サンプルのコード例があります。Pythonista3 でどんなことができるのかを知ることができます。

または実装したい内容がサンプルにある場合、ゴリゴリ改変してみましょう。

え?改変しまくって、動く状態に戻せない?大丈夫です!Examples 内のコードは設定でリセットできます ☺️

img221114_172249.png

これで、心置きなくいじくりまわせますね!

Favorites

お気に入りとして、フォルダやファイルを指定しておくことができます。

該当フォルダやファイルを右方向にスワイプし︎☆ アイコンをタップでも追加できます。

img221114_165803.gif

External Files

ファイル App 上にあるファイルやフォルダを参照し編集できるようになります。

編集を他のアプリで行い、実行を Pythonista3 で。なんて連携ができるようになります。

私は毎日 GitHub 草生やし勢なので、他アプリで Git 管理をし、編集を Pythonista3 で行う流れがワークフローとなっています。

Python Modules

  • Standard Library
  • site-packages

に分かれています。

Standard Library

Pythonista3 でデフォルトで入っている module たちが格納されています。

Pythonista3 独自モジュールも、ここのディレクトリ内にあります。

例えばobjc_util モジュールの格納場所は

Standard Library(3.6)
  └ site-packages
      └ objc_util.py

実際にどんなコードで実装しているか、見てみると面白いと思います。

次回は

今回も機能面の紹介のみとなってしまいました。そして、ポエムとなりすみません。

Documentation を読むと、紹介しきれなかった機能満載ですので、ぜひ機械翻訳片手に読んでみてください。

共有機能を使って外部データを script library を取り込んだり、iPad でのキーボードショートカットなど色々あります。

次回は、Pythonista3 で、コーディングを楽にするためのスクリプトをコード例を提示しつつ実装する。みたいな内容を予定しています。

やっと、やっと!!コードが出てきます。。。お待たせ致しました。

ここまで、読んでいただきありがとうございました。

👇 : 03 日目

せんでん

Discord

Pythonista3 の日本語コミュニティーがあります。みなさん優しくて、わからないところも親身に教えてくれるのでこの機会に覗いてみてください。

書籍

iPhone/iPad でプログラミングする最強の本。

その他

  • サンプルコード

Pythonista3 Advent Calendar 2022 でのコードをまとめているリポジトリがあります。

コードのエラーや変なところや改善点など。ご指摘や PR お待ちしておりますー

  • Twitter

なんしかガチャガチャしていますが、お気兼ねなくお声がけくださいませー

  • GitHub

基本的に GitHub にコードをあげているので、何にハマって何を実装しているのか観測できると思います。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?