Casio Python - はじめに

Python Casio Python
 Casioグラフ関数電卓の Python を使ってみる
     - はじめに:電卓で作る初めてのスクリプト 
目次


初版:2020/06/13
追記修正:2020/10/20

前の記事 - 0. Casio Python のポテンシャル 次の記事 - 2. Casio Python とは?


対応機種: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 のサブセット版で、一般の Python と違ってシステムに深入りするための関数やメソッドが提供されておらず、機能が大幅に制限されています。Casio Python は、覚えることが少なく、コーディングが楽なことは、実際にスクリプトを書いてゆくと実感できると思います。

以下では、文字列を出力するシンプルな1行のスクリプトを書くため、電卓の操作方法を説明します。初めて電卓でスクリプトを書くことを前提にして、とても細かく書いてゆきます。


1.1.1 fx-CG50 の準備
このグラフ関数電卓が必要です。
ちなみに各モデルの価格動向を何年もモニターしてきていますので、参考になさってください。
Casio プログラム電卓の価格動向

1万円程度の買い物になります。


1.1.2 Casio Pythonの起動
電源を入れ、[MENU]キーを押してメニュー画面を表示して、Python を選んで [EXE]キーを押します。
menu_python
   ↑
 これを選択


Casio Python の最初の画面
このように スクリプトファイル専用フォルダの作成を推奨します。
Python_folder 

Casio Pyhton を開くと、最初にルートが表示されます。そのままスクリプトファイルを保存すると、保存先はルートになります。ところが、ルートにはアドインプログラムのファイル(拡張子が g3a のファイル)もあります。

もし C.Basic を使っていると、プログラムファイルの保存先は、デフォルトでルートになります。管理人は C.Basic プログラムファイル専用のフォルダをルートに作って、そこに保存するように設定しています。

PCとリンクして、電卓内のファイルをPC上で整理するとき、それぞれのファイルが専用フォルダに保存されていると、間違いが起きません。ルートにあるのはアドインファイルのみというのが、理想的だと思います。

これから色々と多くのスクリプトを書いてゆくので、スクリプトファイル(pyファイル)を保存する専用フォルダを作るのをお勧めします。管理人は @Python フォルダを作っています。

さて、電卓内に新たにフォルダを作るのは、電卓だけではできず、PCを利用しなければなりません。
まず、電卓をPCとリンクします。すると、エクスプローラ(ファイルマネージャー)では電卓が新たなドライブとして認識されます。電卓のドライブを開いて現れるのが電卓のルートで、そのルートに新たなフォルダを作ります。

スクリプト専用フォルダを作ったら、Casio Python のファイルリスト画面で専用フォルダにカーソルを合わせ、[EXE]キーを押すと、スクリプトファイルの一覧が現れます。初めての場合は、フォルダの中は空です。

in_the_python_folder 

このように多くのファイルができてくると、カーソルキーでファイルを探すのが面倒になります。そこでAPHAモードにしてから、探したいファイル名の頭のアルファベットを1文字押すと、それから始まるファイルにジャンプするので便利です。


1.1.3 スクリプトファイルの作成
ここで、[F3] (NEW) を押して、新しく hello というファイル名を入力します。
create_hello_file2  

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


1.1.4 スクリプトの作成
ここに、以下の1行を入力します。

print('Hello Casio Python')

Casio Python では、アルファベットや数字記号を1つづつ入力します。
画面下にファンクションメニューがあり、これが役立ちます。[F6] (▷) を押すことで2組のファンクションメニューが切り替えられます。なかでも SYMBOL と OPERT が役立ちます。

さて、1文字づつ入力するよりも楽な入力補助機能があrます。
何も入力が無い状態で、[SHIFT][4] (CATALOG) を押すとカタログ機能が現れます。
catagog_1 

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

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

print_1_2  

今の目的は、print('Hello Casio Python') と入力することでした。あとは、( ) の中に
'Hello Casio Python' と追記すれば完成です。

ファンクションメニューで [F3] (SUMBOL) を押し、さらに [F6] (▷) を押すと、ファンクションメニュー[F2] ( ' ) が見つかりますので、これを2回押せば ' ' と入力できます。
print_2_2  

ファンクションメニューの SYMBOL は、使ってみると便利です。
アルファベットを入力するときは、[SHIFT][ALPHA] を押して ALPHAモードにします。その時 ALPHAモードを解除しないと入力できない記号が、SYMBOL で入力できるようになっています。

あとは、'' の間に Hello Casio Python と入力します。アルファベットの入力は慣れるしかありません。

ALPHAモード
 小文字モード

  ↓
hello_1_2 hello_2_2 

ALPHAモードになると、画面左上に赤い小さなアイコンで ALPHAモードであることを示してくれます。さらに 小文字の a が表示されていれば小文字モード、大文字の A が表示されていれば大文字モードだと分かります。

Casio Python ではデフォルトで小文字モードになります。[F5] (A⇔a) を押せば 大文字と小文字の切り替えができます。


1.1.5 スクリプトの実行
これで、スクリプトの入力が終わったので、これを実行してみます。
[F2] (RUN) を押せば、スクリプトが実行されます。

スクリプトを新たに書いたり、変更した後に [F2] (RUN) で実行しようとすると、ファイルを保存するかどうかを尋ねるポップアップが現れます。
save_popup2  

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

なんだか、ゴチャゴチャした画面になっています。
今回の hello.py を実行した結果は、4行目にあります。

1行目と2行目では、Casio PythonMicroPython 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')
と直接入力し、
prompt_hello_1_2 prompt_hello_2_2 

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

但し、シェルで入力するのは、ファンクションキーが無いのでちょっと面倒です。[SHIFT][4] (CATALOG) の入力補助機能は使えます。

このようにシェルは、1行入力し、結果を出力する対話機能を提供していることが分かります。

ところで、スクリプト一覧の画面(スクリプト リスト画面)のファンクションキーに [F4] (SHELL) があります。
in_the_python_folder 

[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 のままで編集・保存ができるテキストエディタは豊富にあるので、そのようなものがお勧めです。

管理人は、まだこれといったお勧めはありませんが、今のところ Microsoft が無償提供している Visual Studio Code を使っています。Pythonで使う様々なキーワードを、種類ごとに色分けしてくれる機能を簡単に設定できるのが良いところです。他のテキストエディタでも同様の機能があれば、それが良いと思います。

余計な機能がたくさんありすぎて、Casio Pythonスクリプトの編集のためだけに使うには少々オーバースペックかも知れませんが、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スクリプトの編集のためだけに使うのなら、拡張機能は不要だろうと思っています。いちいちポップアップが現れてうるさいでしょうが、敢えて何もしない素の状態が良いかも知れません。
  • Visual Studio Code には InteliSense 機能があり、Pythonスクリプトを書いている時に色々とアドバイスが貰えるので、これは便利だと思っています。
  • Visual Studio Code に関する詳しい説明は ここ が分かりやすいと個人的に思います。
  • 管理人はVisual Sudio を使った経験があるから Visual Studio Code が良いと思うだけかも知れません。皆様が良いと思うテキストエディタを使えば良いと思います。
  • 管理人は、Visual Studio Codeをまだ使いこなしていませんので、何か良いことが分かれば随時紹介しようと思います。
VS_Code_example 
管理人が使っているテキストエディタの配色とテーマの一例 - Visual Studio Code



目 次

前の記事 - 0. Casio Python のポテンシャル

次の記事 - 2. Casio Python とは?





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


 


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

リンク集 | ブログ内マップ
関連記事

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

コメントの投稿

非公開コメント

SHELL を一旦 initializeすれば良いのですね

通りすがりの方へ

これまた貴重な情報をありがとうございます。

スクリプト一覧から実行した後、一旦 shell を initialize されたあとで、

from hello.py import *

を実行すると、スクリプトが走りました。

おっしゃるように、一度呼び出した後なので、無視されているようです。

No title

> 矢印キーで3行目にカーソルを持って行くと、
> >>>from print import *
> と出力されていることがわかります。
> これは、"print.py をインポートしてから、スクリプトの内容を実行" という意味で、その下の4行目に実行結果である
> Hello Casio Python
> が出力されていることがわかります。
> 但し、from print iimport * をプロンプトの後に直接入力しても何も起きないので、スクリプトリストから実行したときに、このように表示される仕様だと思われます。

これは一度importしたモジュールを再度importしようとしても無視しているだけだと思います。
print.py? hello.py? のあるフォルダ一覧からシェルを起動して、ファイルをRUNする代わりに同じ文面を打ち込んでもRUNしたのと同じ結果になるでしょう(似た動作は手持ちのcg-50で確認しました)。
たぶんRUNの動作が import ... * そのものなんだと思っています。
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR