Casio Python - Casio Python とは?

Python Casio Python
 Casioグラフ関数電卓の Python を使ってみる
     - Casio Python とは?:MicroPython と CPython 
目次


初版:2020/06/18
追記:2020/11/03
前の記事 - 1 電卓で作る初めてのスクリプト |  次の記事 - 3. Casio Python の入出力


2. Casio Python とは?: MicroPython と CPython

2.1 Casio Python の素性

Casio PythonMicroPython 1.9.4 のサブセット版、そして MicroPyhton 1.9.4CPython 3.5.4 のサブセット版です。


2.1.1 MicroPython 1.9.4

Casio Python は、MicroPython 1.9.4 をベースにカシオがカスタマイズしたものです。では、MicroPytnon 1.9.4 は何かと調べると、MicroPython のホームページ には、次のように書かれています。

"MicroPythonは、Python 3 プログラム言語を無駄なく効率的に実装したものであり、Python標準ライブラリの小さなサブセットを含み、マイクロコントローラや制約のある環境で動作するように最適化されています。

MicroPython pyboardは、MicroPythonを実行するコンパクトな電子回路基板であり、本格的なOSがインストールされていないシステムに実装されており、あらゆる種類の電子工学的テーマを制御可能な低レベルのPythonオペレーティングシステムを提供します。

MicroPythonには、対話形式のプロンプト、任意の精度の整数、クロージャ、リスト内包、ジェネレータ、例外処理などの高度な機能が満載されています。それにもかかわらず、256kのコードスペースと16kのRAMで動作するほどコンパクトです。

MicroPythonは、デスクトップからマイクロコントローラや組み込みシステムにコードを簡単に転送できるように、通常のPythonと可能な限り互換性を持たせることを目指しています。"
  (翻訳 by 管理人)


ここで Python 3 とは、C言語で書かれた Python 処理系の ver. 3.xx のことで CPython 3 とも言うようです。

さて、Casio Python の言語仕様は、MicroPython 1.9.4 の言語仕様のページ / 日本語のページ の内容がベースになっていると思われます(まだ全部調べていません)。ここには、MicroPython 1.9.4 は、CPython 3.4 と それ以降から選んだものが実装されていると書かれてます。

CPythonについては、様々なレベルの情報がネットで簡単に検索できるので、MicroPython が CPython とどこが違うのか、つまり Casio Python との違いは結構重要になってくると思います。そこで、MicroPython と CPython の違い が役立ちます。ここにあるいくつかの項目を実際に試すと、確かに Casio Python が MicroPython と同じ動作で CPython は異なることを確認しています。

ところで、MicroPythonCPython の違いに書かれていないのですが、Casio Python が CPython 3 と動作が異なることも見つかっています(Casio Pythonリファレンスで紹介しています)。その違いは、文書化されていない MicroPython の仕様なのか、Casio Python 独自のものなのかは、今の所不明です。

Note: Casio Pythonへのライセンス
MicroPython 1.9.4 の MicroPython license infomration の内容は、fx-CG50 (バージョン3.40) ソフトウェアマニュアルの γ - 1 ページの内容と同じものです。つまり、Casip Python は間違いなく MicroPython 1.9.4 のライセンス製品だと証明されます。


2.1.2 CPython 3.5.4

CPython については、Python 公式ドキュメント Python.org に遡って調べれば、確実に正しい情報に当たれます(但し、Python 開発者向けなので、読み解くのは容易ではありません)。ありがたいことに、この公式ドキュメントには CPython 3.5.4 日本語ドキュメント があります。これはバイブルとして使えそうです。

先ずは、2. 組み込み関数 にある関数リストが役立ちそうです。



2.2 Casio Python に組み込まれているオブジェク名の一覧

シェル画面、あるいはスクリプト編集画面から、[SHIFT] [4] (CATALOG) を押して現れるカタログ機能は、オブジェクトの一覧(+α)になっていて、関数名、メソッド名、演算子名、識別子名など、スクリプトで使えるブジェクトが分かります。

ところが、この一覧にはないけれど、実際に使える隠し関数やメソッドなどのオブジェクトが有ります。

隠しオブジェクトも含んで、全てのオブジェクト名の一覧を知る方法を、読者の方から紹介して頂きました。オブジェクト名を知る関数 dir() も隠し機能の中に隠れているのですが、これを使った以下のスクリプトを実行すると、Casio Pytjon に内蔵されている全てのオブジェクト名が分かります。

NoteCGモデルとFXモデルでの出力の違い [2020/11/03 追記]
以下のスクリプトは、print() により 100 行以上出力します。
CGモデル (fx-CG50) の Pythonモードでは、print() のスタックは最大200行なので、全てを出力できます。
一方、FXモデル (fx-9750GIII, fx-9860GIII) の Pythonモードでは、print() のスタックは最大100行なので、全てを出力できないという制限があります。出力が100行以内になるようにコメントアウトして活用してください。 

ObjName.py
← クリックしてダウンロード 

import builtins
print(repr(builtins))
for i in dir(builtins):
print(i)

print(repr(list))
for i in dir(list):
print(i)

print(repr(dict))
for i in dir(dict):
print(i)

print(repr(set))
for i in dir(set):
print(i)

import casioplot
print(repr(casioplot))
for i in dir(casioplot):
print(i)

import math
print(repr(math))
for i in dir(math):
print(i)

import random
print(repr(random))
for i in dir(random):
print(i)


2.3 Casio Pyhton の学習方法

Casio Pythonを使いこなすには、CPython の知識と経験があればなんとかなりそうです。そして、CPython については、インターネットで簡単に調べられ、Casio Python のコーディングで悩めば、多くの場合はネットで解決できます。

そこで、管理人がお勧めの学習サイトを紹介します。
Python 入門 - @IT


Python の基礎的な使い方については、本連載ではざっくりと触れるだけにして、Casip Python を使った電卓でのプログラミングに特化した内容、Casio Python 特有の言語仕様について、調べて分かったこと、気がついたことをピックアップしてゆこうと思います。メインテーマとして、Pythonのスキルが低くいとしても (=管理人)、とりあえずプログラムを作って楽しめることを紹介してゆきたいと思います。




目 次

前の記事 - 1. 電卓で作る初めてのスクリプト

次の記事 - 3. Casio Python の入出力





応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: fx-CG50Pythonfx-9750GIIIfx-9860GIIIプログラム関数電卓

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic や Casio Python プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR