417.python

「プログラム言語」と検索すると
2021今学ぶべきプログラム言語でpythonがありました。
4年連続だということです。
pythonは新しい言語ではなく1991年に開発された言語です。
DREAMCADの歴史におきかえれば
DREAMが開発される前のモデルワークステーションPCBCAD
時代からある言語です。

python人気の理由はAIとか機械学習に向いているといいますが
なぜ向いているのでしょうか。
調べてみるとpythonの特徴には、ライブラリが多いという事です。
ライブラリが多いと何が良いのか?
一言でいうと「レンジでチン」です。
料理が出来なくてもレンジで指定時間セット
すれば料理ができるといったもの。
AIなどを扱うことは複雑な専門知識が必要ですが
このライブラリがあると その説明書どおりコードを書くことで
AIを扱うことが可能です。

そうしたライブラリがAIや機械学習以外にも
Webやメール、EXCEL、グラフ、画像編集、CAD、PDFなど豊富にあります。
ライブラリが多くあればpythonコード上で
コントロールできる数も多くなります。

なにはともあれpythonを使ってみないとわからないと思い
インストールして使ってみています。
VBのようにフォームが出来ないか調べてみました

VB、VBAはフォーム画面の中に
ボタンやチェックボックス等を入れたければ
そのオブジェクトのアイコンを選び
マウスで配置したい箇所に置いていくことでフォーム画面の形ができあがります。



pythonはこうしたフォームをマウスでつくる仕組がありませんでした。
でもフォームを作るためにはtkinterというライブラリがあります。
これはインストールしたら標準でついているライブラリでした。
例:import tkinter as tk
とフォームを作れるライブラリの宣言した後
コードで配置するボタン座標位置などを書いていくという仕組みでした。
マウスでボタンを移動してみてデザインを見るという使い方は出来ません
位置などコードで指定して書いていくためVBAに比べかなり面倒です。

まずはボタンや、チェックボックスなど
自分が今後使うと思われるオブジェクトの配置を試してみようと思って
なにからやってみようか?と考えました。
自作PDFソフトのフォームがちょうど良いサンプルだったので
ネットを調べながらコードを作ってみました。
出来たフォームは下図です。


最初、コードが完成し走らせて見たら。
何も表示されませんでした。
再度コードをチェックすると、あっています。
残念とあきらめて、2,3日そのまま寝かせておきました。
もう一度と思い、実際に動作している短めのサンプルと比べてみると
最後の行に違いが見つかりました。
root.mainloop()という行です。
この行がないと表示はしません。
プログラムを走らせるとコードの上から下まで
実行して終わってしまいます。

チェックを入れる、ボタンを押すとかいったアクションは
常に見張っていないといけないので
mainloop()というコードでループさせる必要があります。

ネットのサンプルコードは
この最後の行があるという前提で書かれてあったようです。
断片的な知識の弊害です。
mainloop()が抜けていることが多いので
注意が必要だとわかりました。

VBAやVB.NETはフォームのコードについては
一切考えずに使えるようになっているので
今さらながらに便利さを知りました。
そういう意味ではEXCELの機能の中のVBAですが超高級言語です。

表示されたフォームを見るとそのまま使えそうなのですが
中身は空っぽです。
今はボタンを押したら Beep音が鳴るだけです。

ちなみにbeep音を鳴らすのも
ライブラリが必要でした。
import winsoundです。
ウィンドウズのサウンドのライブラリをインポート
するという宣言で鳴らすことが出来ます。

次にpdfのライブラリを使えるようになりたいと
考えています。

その前に文法で細かく、つまづいています。
2,3行付け足すとなぜか動かない
調べてみると
空白(スペース)が1個多いとか、足りないとか
また、行末に:(ダブルコロン)が 無いといった
書式のエラーが多いです。
ネットリストエラーとよく似た感じです。

トップへ
トップへ
戻る
戻る