【Python Tech】Pythonプログラミングガイド

Python Tech Pythonプログラミングガイド

本サイトで紹介している記事をまとめたPythonのプログラミングガイドページです。

Pythonの文法に関わる内容ももちろん、各種ライブラリ機械学習ディープラーニングを含むデータ分析、GUI開発生成AIなどについて幅広く紹介しています。

以下の目次から気になる項目を選択していただければ該当ページへのリンクを確認することができます。

入門編

全般

Pythonの命名規則やコーディングの参考になるような事項を紹介します。

環境構築

Pythonの環境構築に関わる事項を紹介します。

【インストール】

【VSCode (Visual Studio Code)】

【PyCharm】

【Anaconda】

Anacondaについては2020/4/30の発表で大規模な商用利用では有償となっています。個人的な利用や教育目的の使用、非営利団体での使用といったところでは無償ですが、それ以外は有償となる可能性があります。使用前によくご確認ください。

【Git】バージョン管理ソフトウェア

【Docker】コンテナ型仮想環境

データ構造

Pythonでは、様々なデータ構造を使用してプログラミングを行います。基本的なデータ構造の使用方法について紹介します。

文字列

日付・時刻

リスト (list)

タプル (tuple)

辞書 (dict)

集合 (set)

内包表記

制御

Pythonの制御では、for、while、if等を使用して動作を制御します。基本の使用方法を紹介します。

関数

Pythonにおける関数の基本的な使い方について紹介します。

クラス

Pythonにおけるクラスの基本的な使い方について紹介します。

入出力

Pythonにおける入出力の基本を紹介します。

応用編

対話型インタプリタ (IPython)

Pythonの拡張された対話型インタプリタについて紹介します。

Collectionsモジュール

Pythonでもよく使われるCollectionモジュールの各種使い方について紹介します。

正規表現

Pythonで正規表現を扱うためのモジュールの使用方法を紹介します。

列挙型

Pythonで列挙型を扱うためのモジュールの使用方法を紹介します。

ログ管理

Pythonでログ管理するためのモジュールの使用方法を紹介します。

フォルダ監視

Pythonでフォルダ監視をするためのモジュールの使用方法について紹介します。

Pythonパッケージ作成と配布

Pythonパッケージ作成や配布に関わるライブラリの司法方法を紹介します。

外部プログラム連携 (DLL)

Pythonで外部プログラムと連携する方法を紹介します。

データベース

Pythonでデータベース処理する際の各種モジュールの使用方法を紹介します。

【Oracle】

cx_Oracle は非推奨になっているため、後継の python-oracledb の方の使用を検討してください。

【PostgreSQL】

【MySQL】

【SQLite】

【SQLAlchemy】Pythonのクロスデータベースライブラリ

【MongoDB】ドキュメント指向データベース

【neo4j】グラフデータベース

ネットワーク

Pythonでネットワーク関連の処理をするための関連モジュールの使用方法を紹介します。

暗号化・復号化

Pythonでの暗号化・復号化に関連するモジュールの使用方法について紹介します。

並行・並列処理

Pythonで並行・並列処理を実行するための関連モジュールの使用方法を紹介します。

【全般】

【マルチスレッド: threading

【マルチプロセス: multiprocessing

【並列処理: concurrent.futures

concurrent.futuresモジュールは、シンプルなAPIで簡単な並列処理が実装できる点がメリットですが、複雑な並列処理を実装したい場合には、カスタマイズ性に欠けるというデメリットも存在します。複雑な並列処理が必要な場合は、threadingmultiprocessingの使用をおすすめします。

非同期プログラミング

関数型プログラミング

Pythonはマルチパラダイムのプログラミング言語で様々なプログラミングスタイルをサポートしています。その中でも関数型プログラミングに関する内容について紹介します。

データ分析

全般

データ分析の全般にかかわるような概念などについて紹介します。

NumPy

Pythonで機械学習というと必ずあがるモジュールが「NumPy」です。NumPyは大量のデータに対して高速にかつ効率的に数値計算を行うことができます。NumPyの各種使い方について紹介します。

pandas

Pythonでの機械学習でNumPyと並んであがるモジュールが「pandas」です。pandasのデータ構造は、分析前の前処理など各種データの操作が容易にできるため分析には必須のモジュールです。pandasの各種使い方について紹介します。

Matplotlib

データ分析の際には結果をグラフなどで可視化するといったことをよく行います。Pythonで簡単にグラフ作成などの可視化ができるモジュールが「matplotlib」です。matplotlibの各種使い方について紹介します。

scikit-learn

Pythonでの機械学習ライブラリとしてよく知られているのが「scikit-learn」です。scikit-learnの各種使い方について紹介します。

TensorFlow/Keras

PySpark

大規模なデータを処理するためのオープンソースの分散処理フレームワークであるApache SparkのPython用APIである「PySpark」について紹介します。

MLflow

機械学習のライフサイクル管理をするための「MLflow」についてを紹介します。

Jupyter Notebook

ブラウザ上でPythonプログラムを簡単に編集、実行できる環境である「Jupyter Notebook」のインストールや使い方について紹介します。

NVIDIA CUDA/cuDNN

NVIDIAのGPUを使った並列計算のための環境であるCUDA Toolkitや関連するディープラーニングライブラリのcuDNN関連についてインストール方法などを紹介します。

因果推論

因果推論(Causal Inference)に関わる技術的内容やパッケージについて紹介します。

自然言語処理

自然言語処理における形態素解析や構文解析に関わるモジュールの使用方法について紹介します。

画像処理

OpenCV

OpenCVは、コンピュータビジョンのライブラリです。OpenCVのPythonバインドとしてはcv2モジュールが提供されています。PythonからOpenCVを使用する方法について紹介します。

GUI開発

PyQt

PyQtは、クロスプラットフォームに対応可能なGUIツールキットであり、Windows、Linux、Mac等様々なOSで動作可能なGUIプログラムを作成することができます。PyQtの各種使い方について紹介します。

その他 (生成AIなど)

生成AI

ChatGPT

ChatGPTは、OpenAIが開発したAIチャットサービスです。

Stable Diffution

Stable Diffusionは、「入力したテキストの内容をもとに画像生成が可能な生成AI(generative ai)の一種のソフトウェアです。

OpenAI API

OpenAIが提供しているAPIの使い方に関する情報を紹介ます。

LangChain

大規模言語モデル(LLM: Large Language Model)を使用する際に便利なLangChainについて紹介します。

Databricks

データ分析基盤であるDatabricks関連について紹介します。

Python学習のおすすめ書籍 他

Pythonを学習する際のおすすめ書籍等を紹介します。