Casio Python - はじめに

Casioグラフ関数電卓の Python を使ってみる
- はじめに:電卓で作る初めてのスクリプト
<目次>
初版:2020/06/13
追記修正:2020/10/20
修正:2023/04/21
▲ 前の記事 - 0. Casio Python のポテンシャル | ▼ 次の記事 - 2. Casio Python とは?追記修正:2020/10/20
修正:2023/04/21
対応機種:fx-CG50, fx-9750GIII, fx-9860GIII
1. はじめに: 電卓で作る初めてのスクリプト
先ずは、カシオのプログラム電卓を使って実際に Pythonスクリプトを作ってみます。
1.1 Casio Python での初めてのスクリプト
半ばお約束のようですが、画面に Hello Casio Python と表示させるスクリプトを作ります。
Casio Python では(一般の Python でも)、
print('Hello Casio Python')
と1行だけで文字列の出力ができます。
ところで、カシオ電卓搭載の Casio Basic では、
"Hello Casio Basic"
あるいは
Locate 1,1,"Hello Casio Basic"
と、1行書くだけで、文字列を表示できます。アドイン版超高速Casio Basicである C.Basic も同様です。
さて、他の多くの言語では、標準出力(コンソール)に文字列を出力するコードは、シンプルに1行で書けないのです。
例えば、C言語でコードを書いてみます。
#include <stdio.h>
int main(void) {
printf("Hello C");
return 0;
}
C# で書くと、
using system;
namespace Hello
{
class program
{
static void Main()
{
System.Console.WriteLine("Hello C#");
}
}
}
まぁ、C# は、実際はに全て自分でコーデイングしないで、殆どが開発環境で自動作成されるので、これを引き合いに出すと C# に申し訳ないとは思いますが、いずれにせよオブジェクト構造を意識して、様々なメソッドや関数を繋いでコーディングする必要があります。
このように、Python は1行でシンプルに記述できます。Python のシンプルさを強調したいので、驚かすために意図的に上の例を出しました。眺めて「わっ、大変そうだ」と感じて頂くだけで結構です(^_^;
Casio Python は、本来の Python (CPython) のサブセット版で、提供されている機能が大幅に制限されています。やりたいことができないもどかしさを感じますが、逆に考えると Casio Python は覚えることが少ないので、覚えやすいと言えます。
以下では、文字列を出力するシンプルな1行のスクリプトを書くため、電卓の操作方法を説明します。初めて電卓でスクリプトを書くことを前提にして、とても細かく書いてゆきます。
1.1.1 fx-CG50 の準備
このグラフ関数電卓が必要です。
ちなみに各モデルの価格動向を何年もモニターしてきていますので、参考になさってください。
⇒ Casio プログラム電卓の価格動向
1~2万円程度の買い物になります。
あるいは、モノクロ液晶のグラフ関数電卓 fx-975GIII や fx-9860GIII でも Casio Python が使えますが、これらは日本国内では正規品として販売されておらず、Amazon USA / Amazon France や eBay / セカイモンなどで海外から取り寄せる必要があります。
1.1.2 Casio Pythonの起動
電源を入れ、[MENU]キーを押してメニュー画面を表示して、Python を選んで [EXE]キーを押します。

↑
これを選択
Casio Python の最初の画面
このように スクリプトファイル専用フォルダの作成を推奨します。
Casio Pyhton を開くと、最初にルートが表示されます。そのままスクリプトファイルを保存すると、保存先はルートになります。ところが、ルートにはアドインプログラムのファイル(拡張子が g3a のファイル)もあります。
もし C.Basic を使っていると、プログラムファイルの保存先は、デフォルトでルートになります。管理人は C.Basic プログラムファイル専用のフォルダをルートに作って、そこに保存するように設定しています。
PCとリンクして、電卓内のファイルをPC上で整理するとき、それぞれのファイルが専用フォルダに保存されていると、間違いが起きません。ルートにあるのはアドインファイルのみというのが、理想的だと思います。
これから色々と多くのスクリプトを書いてゆくので、スクリプトファイル(pyファイル)を保存する専用フォルダを作るのをお勧めします。管理人は @Python フォルダを作っています。
さて、電卓内に新たにフォルダを作るのは、電卓だけではできず、PCを利用しなければなりません。
まず、電卓をPCとリンクします。すると、エクスプローラ(ファイルマネージャー)では電卓が新たなドライブとして認識されます。電卓のドライブを開いて現れるのが電卓のルートで、そのルートに新たなフォルダを作ります。
スクリプト専用フォルダを作ったら、Casio Python のファイルリスト画面で専用フォルダにカーソルを合わせ、[EXE]キーを押すと、スクリプトファイルの一覧が現れます。初めての場合は、フォルダの中は空です。
このように多くのファイルができてくると、カーソルキーでファイルを探すのが面倒になります。そこでAPHAモードにしてから、探したいファイル名の頭のアルファベットを1文字押すと、それから始まるファイルにジャンプするので便利です。
1.1.3 スクリプトファイルの作成
ここで、[F3] (NEW) を押して、新しく hello というファイル名を入力します。
そして[EXE]キーを押せば、スクリプト編集画面が表示されます。
1.1.4 スクリプトの作成
ここに、以下の1行を入力します。
print('Hello Casio Python')
Casio Python では、アルファベットや数字記号を1つづつ入力します。
画面下にファンクションメニューがあり、これが役立ちます。[F6] (▷) を押すことで2組のファンクションメニューが切り替えられます。なかでも SYMBOL と OPERT が役立ちます。
さて、1文字づつ入力するよりも楽な入力補助機能があります。
何も入力が無い状態で、[SHIFT][4] (CATALOG) を押すとカタログ機能が現れます。
print() を探すために、[4] (P) を押すと 右上の [ ]に p と表示され、p で始まるキーワードにジャンプするので、print() にカーソルを合わせます。
ここで、[F1] (INPUT) を押せば、print() が入力できます。
今の目的は、print('Hello Casio Python') と入力することでした。あとは、( ) の中に
'Hello Casio Python' と追記すれば完成です。
ファンクションメニューで [F3] (SUMBOL) を押し、さらに [F6] (▷) を押すと、ファンクションメニュー[F2] ( ' ) が見つかりますので、これを2回押せば ' ' と入力できます。
ファンクションメニューの SYMBOL は、使ってみると便利です。
アルファベットを入力するときは、[SHIFT][ALPHA] を押して ALPHAモードにします。その時 ALPHAモードを解除しないと入力できない記号が、SYMBOL で入力できるようになっています。
あとは、' と ' の間に Hello Casio Python と入力します。アルファベットの入力は慣れるしかありません。
ALPHAモード
小文字モード
↓
これを選択
Casio Python の最初の画面
このように スクリプトファイル専用フォルダの作成を推奨します。

Casio Pyhton を開くと、最初にルートが表示されます。そのままスクリプトファイルを保存すると、保存先はルートになります。ところが、ルートにはアドインプログラムのファイル(拡張子が g3a のファイル)もあります。
もし C.Basic を使っていると、プログラムファイルの保存先は、デフォルトでルートになります。管理人は C.Basic プログラムファイル専用のフォルダをルートに作って、そこに保存するように設定しています。
PCとリンクして、電卓内のファイルをPC上で整理するとき、それぞれのファイルが専用フォルダに保存されていると、間違いが起きません。ルートにあるのはアドインファイルのみというのが、理想的だと思います。
これから色々と多くのスクリプトを書いてゆくので、スクリプトファイル(pyファイル)を保存する専用フォルダを作るのをお勧めします。管理人は @Python フォルダを作っています。
さて、電卓内に新たにフォルダを作るのは、電卓だけではできず、PCを利用しなければなりません。
まず、電卓をPCとリンクします。すると、エクスプローラ(ファイルマネージャー)では電卓が新たなドライブとして認識されます。電卓のドライブを開いて現れるのが電卓のルートで、そのルートに新たなフォルダを作ります。
スクリプト専用フォルダを作ったら、Casio Python のファイルリスト画面で専用フォルダにカーソルを合わせ、[EXE]キーを押すと、スクリプトファイルの一覧が現れます。初めての場合は、フォルダの中は空です。

このように多くのファイルができてくると、カーソルキーでファイルを探すのが面倒になります。そこでAPHAモードにしてから、探したいファイル名の頭のアルファベットを1文字押すと、それから始まるファイルにジャンプするので便利です。
1.1.3 スクリプトファイルの作成
ここで、[F3] (NEW) を押して、新しく hello というファイル名を入力します。

そして[EXE]キーを押せば、スクリプト編集画面が表示されます。

1.1.4 スクリプトの作成
ここに、以下の1行を入力します。
print('Hello Casio Python')
Casio Python では、アルファベットや数字記号を1つづつ入力します。
画面下にファンクションメニューがあり、これが役立ちます。[F6] (▷) を押すことで2組のファンクションメニューが切り替えられます。なかでも SYMBOL と OPERT が役立ちます。
さて、1文字づつ入力するよりも楽な入力補助機能があります。
何も入力が無い状態で、[SHIFT][4] (CATALOG) を押すとカタログ機能が現れます。

print() を探すために、[4] (P) を押すと 右上の [ ]に p と表示され、p で始まるキーワードにジャンプするので、print() にカーソルを合わせます。

ここで、[F1] (INPUT) を押せば、print() が入力できます。

今の目的は、print('Hello Casio Python') と入力することでした。あとは、( ) の中に
'Hello Casio Python' と追記すれば完成です。
ファンクションメニューで [F3] (SUMBOL) を押し、さらに [F6] (▷) を押すと、ファンクションメニュー[F2] ( ' ) が見つかりますので、これを2回押せば ' ' と入力できます。

ファンクションメニューの SYMBOL は、使ってみると便利です。
アルファベットを入力するときは、[SHIFT][ALPHA] を押して ALPHAモードにします。その時 ALPHAモードを解除しないと入力できない記号が、SYMBOL で入力できるようになっています。
あとは、' と ' の間に Hello Casio Python と入力します。アルファベットの入力は慣れるしかありません。
ALPHAモード
小文字モード
↓


ALPHAモードになると、画面左上に赤い小さなアイコンで ALPHAモードであることを示してくれます。さらに 小文字の a が表示されていれば小文字モード、大文字の A が表示されていれば大文字モードだと分かります。
Casio Python ではデフォルトで小文字モードになります。[F5] (A⇔a) を押せば 大文字と小文字の切り替えができます。
1.1.5 スクリプトの実行
これで、スクリプトの入力が終わったので、これを実行してみます。
[F2] (RUN) を押せば、スクリプトが実行されます。
スクリプトを新たに書いたり、変更した後に [F2] (RUN) で実行しようとすると、ファイルを保存するかどうかを尋ねるポップアップが現れます。

ここで、[F1] を押して保存します。すると実行画面が現れます。

なんだか、ゴチャゴチャした画面になっています。
今回の hello.py を実行した結果は、4行目にあります。
1行目と2行目では、Casio Python が MicroPython ver 1.9.4 をベースに作られていることを示しています。オリジナルの著作権表示のようなものでしょう。
この画面は、シェルと呼ばれる Python の標準的な出力画面です。Windows のコマンドプロンプト画面のようなもので、コマンドを入力すれば結果を出力する対話型画面になっています。
>>> がプロンプトで、ここにコマンドを入力すると、結果が表示される仕様になっています。
矢印キーで3行目にカーソルを持って行くと、
>>>from hello import *
と出力されていることがわかります。
これは、"hello.py をインポートする" という意味で、その下の4行目に実行結果である
Hello Casio Python
が出力されていることがわかります。
[2020/06/15 追記修正]
では、シェルから hello.py を起動してみましょう。
@python フォルダにカーソルを合わせて[EXE}キーを押して、hello.py が一覧で表示されるようにします。
そして、[F4] (SHELL) を押してシェルを表示します。
ここで、プロンプト >>> のあとに
from hello import *
と入力してみます。
ファンクションメニューが使えないので [F5] (A⇔a) と [F6] (CHAR) のみを使って入力します(できます))。
そして、[EXE} を押すと
Hello Casio Python
と出力されるので、シェルから hello.py を実行できることが分かりました。
起動したスクリプトのあるフォルダに移動してからシェルを起動すると、そのフォルダにあるスクリプトが実行できます。
=== [2020/06/15 追記修正 ここまで ===
文字列出力のスクリプトが正しく動作したことが確認できました。hello.py の完成です!
1.2 シェル画面
シェルで、プロンプトに続いて、
>>>print('Hello Casio Python')
と直接入力し、


[F1] (RUN) を押すと、Hello Casio Python と出力されます。

但し、シェルで入力するのは、ファンクションキーが無いのでちょっと面倒です。[SHIFT][4] (CATALOG) の入力補助機能は使えます。
このようにシェルは、1行入力し、結果を出力する対話機能を提供していることが分かります。
ところで、スクリプト一覧の画面(スクリプト リスト画面)のファンクションキーに [F4] (SHELL) があります。

[F4] (SHELL) を押すと、先ほどのシェル画面に切り替わります。
何も知らない状態で初めて使う時は、Casio Python の操作は、結構面倒に感じるかも知れません。そこで今回は、できる限り詳しく解説してみました。何か分からなければ、もう一度読めば思い出せると思います。
操作に慣れてくれば、Casio Python の操作自体は簡単に感じるようになると思います。
一方、スクリプトを書く時の英数記号の入力も慣れるまでは面島に感じるでしょう。PCなどのキーボードを初めて使った時も、おそらく忘れているとは思いますが、大変だったはずです。Casio Python のスクリプトを毎日少しづつでも、繰り返し入力すれば、慣れると思います。管理人自身がそうやって慣れました。
1.3 スクリプト作成と編集の2つの方法
Casio Python のスクリプトは、英数記号のアスキー文字だけで構成される仕様になってます。スクリプトが実行されるとき、アスキー文字の文字列を読み取り、字句解釈が行われCPUが理解できる内容に変換しています。これが一般的に Python の特徴です。なので同じスクリプトが PCでもMACでもLinuxマシンでも、Rasberry Pi のようなボードコンピュータでも、Python を組み込んだ機器でも動作するわけで、その流れの中で 電卓でも動作するわけです。
ちなみにCasio Basic (C.Basic 含む) では、コマンドや構文を入力するにはメニューから選んで入力しなければならず、アルファベットを1つづつ入力するとコマンドや構文として認識されません。これは Casio Python との大きな違いです。
Note: Python スクリプトファイルの正体
Casio Basic ではプログラムコードに直接Operation Codeを書き込む仕様になっているので、メニューから選んで Operation Codeを書き込む必要があります。一方、Casio Python は実行時にOperation Codeに変換するので、スクリプトファイルにはアスキーコード(テキストファイルで表示可能な英数記号) のみを書き込む仕様になっています。
Casio Python のスクリプト作成で、入力を楽にする方法が2つあります。1つはカタログ機能の利用で、もう1つはテキストエディタを利用することです。PCでテキストエディタを使う時は、キーボード入力が楽である上に、カット&ペーストが使えるので便利に感じることでしょう。
▶ カタログ機能による入力補助
スクリプト編集画面で [SHIFT][4] (CATAGOL) と押すと、Casio Python で使うワードの一覧がアルファベット順に現れます。[F6] (CAT) を押すとカテゴリ一覧になるので、そこで入力したワードのカテゴリを選ぶと検索が楽になります。検索したいワードの頭から順に入力してゆけば、絞り込みが行われるので便利です。目的のワードにカーソルを移動してから [F1] (INPUT) を押せば、スクリプト編集画面にそのワードが入力されます。
▶ PCでスクリプトファイルを編集する
Casio Pythonスクリプトファイルはアスキー文字しか含まないので、テキストファイルとしてPCで編集できます。Windows標準の "メモ帳" はテキストエディタですが、拡張子が txt でないとダメです。スクリプトファイルの拡張子 py を一旦 txt に変更し、スクリプト編集後保存し、最後に拡張子を txt から py に戻す手間が必要になります。拡張子が py のままで編集・保存ができるテキストエディタは豊富にあるので、そのようなものがお勧めです。
とにかくPCで編集できるのは大変便利です。管理人は ある程度まとまった Casio Python のスクリプトを新たに作るとき、PCで書き始めることが多いです。
そして、Microsoft が無償提供している Visual Studio Code をとりあえずお勧めします。Pythonで使う様々なキーワードを、種類ごとに色分けしてくれる機能を簡単に設定できるのが良いところです。他のテキストエディタでも同様の機能があれば、それが良いと思います。
余計な機能がたくさんありすぎて、Casio Pythonスクリプトの編集のためだけに使うには下記の2つの拡張機能をインストールするだけで十分です。
・Python - IntelliSense (Pylance), Linting, Debugging (multi-thread, remopte),
Jupyter Notebooks, code formating, refactoring, uinit tests and more.
・Japanese Languare Pack for Visual Studio Code
特に InteliSense 機能は、スクリプトの色分け、入力補助、エラー表示など、便利なものが多いです。
Casio Python 独自の casioplot モジュールがあり、比較的よく使うと思います。この独自モジュールに含まれる関数は一般のPython (CPython や uPython) では使わないので Visual Studio Code の拡張機能は、casioplot モジュールをサポートしていません。そうはいっても、casioplot 以外には InteliSense 機能はとても助かります。
そもそも Visual Studio Code から casioplot モジュールを使ったスクリプトを実行することはできず、上記2つの機能以外に導入しても意味がありません。
少々オーバースペックかも知れませんが、Visual Studio でのプログラミング経験がある方には良い選択でしょう。
Note: Visual Studio Code について
- Visual Studio Code のダウンロードはここからどうぞ。ダウンロードのページにある "Download for Windows / Stable Build" のアイコンやその右にある矢印ボタンをクリックすればダウンロードできます。引き続いてインストールできます。
- 当然日本語化できます。詳しい方法はこちらからどうぞ。
- 最初に起動したとき、あるいは Help - ようこそ を選ぶと ”ようこそ" 画面が現れます。ここで、カスタマイズ - ツールと言語 から Python を選んでインストールしておくと良いと思います。理由はいくつかありますが、少なくとも Python のキーワードを色分けして表示する機能は便利です。色分けは Casio Python の編集画面とは異なりますけど...また、編集後に保存する際、スクリプトファイルで推奨されるテキストファイル形式にしてくれるのも安心です。
- 管理人は、カスタマイズ - 配色とテーマ から、配色テーマを選択して使っています (下記参照)。
- Visual Studio Code を使っていると "このファイルの種類は、'Python' 拡張機能をお勧めします" というポップアップが頻繁に現れますが、Casio Python スクリプトに編集には必要ないと思うので毎回 × を押してポップアップを消しています。
- Casio Pythonスクリプトの編集のためだけに使うのなら、上記2つの拡張機能だけで十分。いちいちポップアップが現れてうるさいでしょうが、それ以上は敢えて何も導入しないのが良いと思います。
- Visual Studio Code には InteliSense 機能があり、Pythonスクリプトを書いている時に色々とアドバイスが貰えるので、これは便利だと思っています。
- Visual Studio Code に関する詳しい説明は ここ が分かりやすいと個人的に思います。
- 管理人は Visual Studio Code 推しですが、皆様が良いと思うテキストエディタを使えば良いでしょう。

管理人が使っている Visual Studio Code の配色テーマ:Solarized Light
▶ 目 次
▲ 前の記事 - 0. Casio Python のポテンシャル
▼ 次の記事 - 2. Casio Python とは?
応援クリックをお願いします。励みになるので...
- 関連記事
-
-
Casio Python - はじめに 2023/04/21
-
Casio Python のポテンシャル 2023/04/21
-
プログラミング経験者のための Casio Python 2023/04/21
-
Casio Python - ユーザー関数 locate() 2023/04/21
-
Casio Pyhton - 目次 2023/03/19
-