4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonista3Advent Calendar 2022

Day 2

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

Last updated at Posted at 2022-12-01

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

一方的な偏った目線で、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 で、コーディングを楽にするためのスクリプトをコード例を提示しつつ実装する。みたいな内容を予定しています。

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

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

せんでん

Discord

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

書籍

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

その他

  • サンプルコード

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

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

  • Twitter

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

  • GitHub

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

4
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?