382.Pythonのマルとバツ(3)
初回:2024/09/18
Python ネタの、三日坊主の最終回です。
P子「今回は、マルの回ね。ほんとかしら?」※1
マルとバツと言っていた手前、マルについても言及しておかないといけません。実際、個人的にお気に入りの機能もありますので、サクサクっと上げてみましょう。
1.Pythonのマル
1).関数の引数にキーワード付き引数が使える
Javaの場合、メソッドの引数は定義順に指定する引数のみですが、Pythonの場合は、名前指定で渡せます。これが意外に便利なのと判りやすいので好きです。
2).関数定義時にキーワード引数に初期値が指定できる
さらに、関数の引数に初期値が指定できます。Javaの場合、同じ名前で引数違いのメソッドを定義する『オーバーロード』する必要がありますが、通常は無指定の引数を初期値で与えたメソッドを再コールするだけになります。
ものすごくわかりやすい例で言うと、x の n乗 を計算する一般的なメソッドを定義し、引数を一つだけの場合は、2乗 するとします。同じようなメソッドを定義しないといけないので邪魔くさいのですが、Python の場合は、1つの関数定義で済ますことができます。
Java
int pow( final int x, final int n ) {
・・・・
}
int pow( final int x ) {
return pow(x, 2)
}
Python
pow(x, n=2) :
・・・・
3).内包表記、スライス
このシリーズの初回にも述べましたが、内包表記はなかなか面白いと思います。また、配列操作に関しても特殊なのですが、これまた面白いと思います。ただし、どちらも複雑な事をすると訳が分からなくなるので出来るだけ単純に使う事をお勧めします。
4).インタプリタで手軽
業務システムとかきちんと作る必要のあるプログラムのコーディングには色々と不満が出ますが、チョンプロ系には非常に便利です。Windowsの場合は、インストールしないと使えませんが、私の大好きなラズパイ(Raspberry Pi)の場合は、初めからプリインストールされているので即使えます。
5).外部モジュールが充実している
私が今でもPythonを使っている最大の理由がこれです。
numpy, openCv など、本当にお手軽に使えます。
6).AI系サンプルが豊富
先にも述べましたが、ラズパイ(Raspberry Pi)でカメラを使用した色々と操作するサンプルが豊富です。MediaPipe などラズパイ上で動かしてもそれなりに動きますので、非常に面白いです。
≪参考資料1≫
https://ai.google.dev/edge/mediapipe/solutions/guide?hl=ja
MediaPipe ソリューション ガイド
ホーム ー> Google AI Edge ー>ソリューション
2.まとめ
P子「もう、まとめなの? 早くない?」
書いているうちに、言語仕様ではなく、環境(外部モジュールとか)の便利さが際立っていると感じたので、これ以上は述べなくてよいかなと思ってきました。過去の資産が有効活用できて、かつ、Pythonほどお手軽に、しかも静的型付け言語が出てくれば、圧倒的な人気のPythonも、落ちぶれてくる可能性があります。
P子「静的型付け言語というより、プログラムの安全性よね」
コンパイラとか、チェックツールが発展してきて、実行時エラーが事前に判るようになれば、静的でも動的でもどちらでも構いません。
トラブルなくプログラムが組めるなら、何でもよいんです。
P子「もう少し時間がかかりそうね」
そういう言語が出来るのが早いのか、ノーコード、ローコードツールが便利になるのか判りませんが、どちらにしても趣味プログラマーとしては、作っても動かしても楽しい言語が一番うれしいです。
P子「期待しないで待っててね」
ほな、さいなら
======= <<注釈>>=======
※1 P子「今回は、マルの回ね。ほんとかしら?」
P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。