Python(ぱいそん)勉強してみました。
Pythonを勉強したからといって、仕事が見つかるとは安易には思っていません。
本気でやれば、Pythonだけで仕事とってこれる時代でもあります。
転職活動に活かせなくても、Pythonは、いろいろなことに利用できます。基本を押さえておくだけでも、趣味の範囲が広がるし、今後の仕事に対して、何か役に立ちそうに思えます。
Pythonの特徴
- AI処理を行うためのlibraryが豊富
画像認識や、音声認識、言語処理等、AI関連の処理を作ろうと思うとPythonが使われていることが多いです。 - 動画処理のlibraryが優秀
AI系とも関連しますが、画像認識するためには画像を読み込んだり、加工したりすることができなければなりません。そのため、画像処理系のLibraryも非常に豊富なイメージがあります。 - WEB系のAPIが豊富
これはPythonじゃなくても、他の言語系の方が主流みたいですが、Pythonでもできます。WebのUIを描画したり、様々なWEBの情報を収集するためのプログラムを作成したりすることができます。これはAIの学習をするためにもつかわれます。Pythonによる”スクレイピング”と呼ばれるWebから情報を収集する手法なんてものも流行っていますね。 - Excelが操作できる
大量のExcelの読み込みや書き出し処理がPythonのプログラムからできてしまいます。これも使い方がわかれば、いろいろと便利に活用できそう。
Paizaに登録、勉強、勉強・・・
Pythonの学習は、「Paizaラーニング」というものを使わせてもらいました。
コードを書きながら動画を見ていくスタイルなので、まったくの初心者でもとっつきやすいのかなと思います。
一通り、学習させてもらって、Bランクまでは進みました。
有意義なサービスを提供されているのを感じたので、一応、有料会員登録もしておきました。
Paizaで学習していると、Paizaの転職支援の通知が沢山とんできます。ソフトウェアに偏ったスカウトが多数来ますので、エンジニアエンジニアの方々は、登録しておくのも良いかもしれません。コーディングスキルを求める紹介だけだと思っていたら、意外とマネジメント職での紹介もされてしまいました。
Pythonは、いまどきのインタプリタ言語
私の場合はC言語は30年越の経験があります。Pascal, COBOL, FORTRAN, アセンブラも経験あります。Javaも仕事で使っていました。なので、言語仕様の違いだけ理解できれば、なんとかなります。そう思っていました。
Pythonは、VisualBasic並み、Java Scriptに近い?変数や関数の有効範囲がさっぱりわかりません。テキストファイルにコードを記載して実行することは当然ですが、コンソールで一行ごとに実行していくこともできます。馴染めません。
構文の記載も特殊です。C言語であれば、括弧でしっかりくくることで有効範囲が明確にできます。Pythonの場合はTABのインデントが重要になってくるのです。
例えば、if 分の後の有効範囲は、その後ろにTABでインデントされたところのみが有効となります。これは未だにしっくりきません。
少し修正して、TABのインデントずれると処理が変わってしまいます。恐ろしいです。
TABって、そんなに偉くなったのですね。
Pythonの配列、辞書型がおもしろい
Pythonの特徴として、変数型に配列型だけでなく、辞書型というものがあります。
配列型も、配列を操作するためのインターフェースが豊富です。辞書型は、番号ではなくて、Key毎に要素を引き出せるようになっています。私的には、SQLで記載してDB管理した方がしっくりくるのですが・・・・
辞書型は、SQLでTABLE作成して、INSERTしてUPDATEしてとかいう面倒なことをしなくても、それっぽいことができてしまいます。これらをいかに使いこなせるかが、Pythonのメリットなのかなと思います。
for 分のループでも、この型をそのまま放り込むことができます。この配列や辞書に登録されている要素分ループ廻して処理しておいてという感じにできるのです。便利。
Python実行できる環境が簡単に作れる
Windows11 であれば、コマンドプロンプトひらいて python と入力すれば、勝手にインストールが画面が起動されて、環境セットアップできます。
また、Googleが提供するColaboratoryというサービスを利用しても動作環境として使えます。Google Driveにソースコードも保存できるので、便利です。
Colab は、学生からデータ サイエンティスト、AI リサーチャーまで、皆さんの作業を効率化します。
基礎的なPythonの構文が理解できれば、十分読み進めることができるようになるので、活用するのをお勧めできます。
AIや機械学習まではしないけれど、ちょっとしたグラフを書いたりする機会が多い方にも十分活用できそうです。
https://colab.research.google.com/notebooks/charts.ipynb
まだまだ勉強中
PythonでPCの中にある静止画像ファイルを連結させて動画ファイルを作成することができました。
globでファイルリスト取得して、Pillowで画像情報取得して、moviepyでリサイズして動画に連結という処理をLoopさせました。
40step程度で、簡単に(?)できてしまいました。
タイトルとか音楽は、Adobe Premiere Pro使った方が早いので、Pythonではやってません (;^_^A
Paizaの講義として、代表的なコードサンプルの説明等がもっと充実すると、さらにありがたいのになぁと思います。
こういう処理をしたいときは、こういうコードを書いた方が良いとか、こういうコードは、このように書いた方が良いとかが講義形式であれば面白そうです。
期待しています。