Pythonの開発手段としての多様性
仕事上Pythonだけを使いたい(主の仕事が研究であるため).
Pythonが良いのは,研究の仕事,開発の仕事のどちらにもそれなりに実用性が耐えうる(と思われる)点にあります.
(主が研究でなければ,JS, C#, Java, C++の方が良いかも知れません.)
Pythonメリット
- 科学計算,特にAIの研究/開発に強い.
- Pythonがあれば多彩な仕事に対応できる
- 後述の用途に著名なモジュール/拡張が揃っており,Bestとは言えないまでもBetterな開発ができるので,2nd言語としても適切(AI, DataMining系なんかはBest).
- 卒論でPython使用者が多い。って事は、「Pythonならコーディングできる」となると、不足するSE/PG不足を補填に繋がるかも(2022.01.29追記)
- 研究コードをそのままプロダクト化できる。CythonでC言語化、Rustも内部で使える。Small開発がBigにもできる(2022.01.29追記)
- 現在のTypeHintによる型が弱いが、この導入は将来の型制約の実現をスムーズにする布石だろう。結果、TypeScriptやJavaら静的型付け言語と型に関しては遜色なくなる可能性がある。(2022.01.29追記)
(型導入は大きな改変が必要らしいのと、Python開発者らは変革に慎重。Python3が2008年に登場してPy2廃止(2020.1.1)まで約12年間も長期設けた、その分Python開発は遅くなるので、気長に待つしか無い)。
研究面
- 深層学習(AI): Tensorflow, Chainer, PyTorch他,AIの主モジュがある.
- 機械学習,強化学習: scikit-learn他,主がある
- 解析ツール(DataMining): Jupyter-Notebook
- 自然言語処理, Textmining: MeCab, CaboChaなど使えます.
- 画像処理/認識: OpenCV他多彩.
- GIS: QGISというFree GISの主開発言語がPython
- シミュ: PySim
開発面
Desktopアプリ(=Win,MacOS,Linux)開発
GUIにQt, Gtk, Kivyを使い,Cythonで固めてPyInstallerで配布
AndroidOS/iOS開発
GUIにKivyを使いBuildozerで配布
WebApp開発-ServerSide:
- Django, Flaskなどフレームワークもあり,PHP, Rubyに比べてシェア少ないですが,十分かと.
WebApp開発-ClientSide:
- Brython, JavaScriptをPythonで代替.面白そう,実用性はどうなんでしょう.
Excel
- 読み書きできるのはpandas他多数あります.主要なのみ. Excel-Addonとして使用できるといった先進版を主に.
PyXll
- 有料.
xlwings
- FreeではVBAに近い事を実現できる,素晴らしい. ただし,Mac版もあるがWindows版は多機能
ExcelにPythonが搭載?その後 - xlwings を使おう
xlwings
ExcelPython
- 開発が2015年ver2.0.9で停止(2019.6.21現在).