2
3

More than 1 year has passed since last update.

Pythonを選ぶ理由

Posted at

Pythonを選ぶ理由

これを書いた自分はPythonが本業ではなく、Pythonはあくまで仕事を効率化するための小道具としての利用。

このような目的の場合、やりたいことを、手早く簡単に実現できることが重要。
特に、以下No.1またはNo.2の用途であれば、個人的にはPython一択。

No 用途 Python以外の手段 選択
1 テキストデータの整形、変換、データ取り込み、グラフ化 手作業、エディタのマクロ機能 Python一択
2 Windowsで動作する簡単なGUIアプリケーションの作成 C# Windows.Forms/C言語 Win32 Python一択
3 Excelの自動操縦 Excel VBA 基本はExcel VBA
4 C言語で作られたDLLの呼び出し 普通にC言語で呼び出す 基本はDLLと同じ言語

No.3やNo.4の場合、Pythonの豊富なライブラリと連携することで、できることの可能性が広がる。
逆にその必要が無くコーディング規模も小さければ、従来の手段が無難。

Pythonの生産性が高い理由

主に以下の3つ。

  1. 直感を裏切らない、一貫した文法
  2. 公式ドキュメントが非常に充実しており、学ぶべきことは公式で完結
  3. 豊富な標準ライブラリとパッケージ

Pythonは学習コストが低いだけでなく、学習した成果を再利用するコストが低い。
コーディング時にドキュメントを見返す必要があまりないのが、非常に大きい。

GUIアプリケーションの補足

ここでは詳細を説明しないが、Pythonの標準GUIインターフェースであるtkinterが無難。
公式ドキュメントからもリンクされているTkDocsが、tkinterに関する事実上の公式ドキュメント。

また、PyInstallerで1つのexeファイルにできるので、Python環境が無いマシン向けに配布することができる。

exe化のデメリットとして、ファイルサイズが最低5MB程度になり、起動時にウィンドウが出るまで数秒のラグがある。ただし現在のPC環境で5MB程度はさほど問題にならない。起動時のウィンドウが出るまでの時間も、PyInstallerにスプラッシュ画像を表示させる機能がある。(2021年7月~)

Excel自動操縦の補足

ここでは詳細を説明しないが、pywin32パッケージを使用する。ネット上に情報も多い。

DLL呼び出しの補足

ここでは詳細を説明しないが、ctypesを利用する。多少学習コストが必要なので、初心者向きとは言えない。
また32bitでコンパイルされたDLLを呼び出すには、32bit版のPython実行環境をインストールしている必要があることにも注意。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3