【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でデータベース処理する際の各種モジュールの使用方法を紹介します。

ネットワーク

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

【TensorFlowやKerasの基本】

【各種ディープラーニング手法の実装】

【その他 関連情報(数学など)】

PySpark

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

MLflow

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

Jupyter Notebook

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

NVIDIA CUDA/cuDNN

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

自然言語処理

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

画像処理

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の使い方に関する情報を紹介ます。

Python学習のおすすめ書籍

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