目次

Python 関連

Python Image
File:Colt Python IMG 6785.jpg - Wikimedia Commons より…
なぜにヘビ🐍ぢゃないんでしょうねぇ😅💦

Python Logo
本家: Welcome to Python.org
ソースコード: GitHub - python/cpython: The Python programming language

Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C 言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。
Python - Wikipedia より

環境構築

Python のインストール
Python のビルド

Pyodide - Web ブラウザで動作する Python 環境
Brython - クライアントサイドの Web プログラミング用 Python 3 の実装

Python venv 仮想環境
pipenv - 人間のための Python 開発ワークフロー
VirtualEnv & VirtualEnvWrapper で作る Python 2.7 仮想環境 (☢️古い資料です (Obsolete)☢️)
pythonbrew の使い方
pip - Python パッケージ管理システム
pipx - 分離環境での Python アプリケーションのインストールと実行
mamba - 高速で堅牢なクロスプラットフォームのパッケージ マネージャー
easy_install、setuptools、pip - パッケージ管理

Mercurial - 分散型バージョン管理システム(Linux)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Linux)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Windows)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Mac)

manylinux

プログラミング ガイド

Python ソケット プログラミング
Python EXIF データ変更

言語構文

Python スクリプトのひな型

Python ランゲージ メモ
Python スライス
Python 例外処理 (try, except, else, finally)
フォーマット済み文字列リテラル(f-strings)
リスト内包表記とジェネレータ式
無名関数(lambda)
Python モジュールサンプル
Python デコレータ
Python エラー
Python のクラスシステムについて解説されている文献
抽象基底クラス

制御構造

if elif else 文
while 文
for range enumerate 文

関数機能

大文字小文字変換(capitalize, upper, lower)
文字の個数を数える(count)
文字列検索(find, index)
文字列置換(replace)

モジュール

argparse - コマンドライン引数解析
timeit
pathlib, glob.iglob(), os.walk()
gettext - 多言語対応
winreg - Windows レジストリ アクセス
socket - 低水準ネットワークインターフェイス
ctypes - Python のための外部関数ライブラリ

パッケージ

AttrDict - 属性スタイルでアクセスできる辞書
NumPy, SciPy, Matplotlib, CuPy, Pandas
PyOpenCL
pyOpenSSL
IPython
JupyterLab - Project Jupyter の次世代ユーザーインターフェース
Jupyter Notebook - プログラムとその実行結果を再実行可能なドキュメント形式で表現
Fabric - シンプルな Pythonic リモート実行とデプロイメント
MoinMoin
Python for .NET (pythonnet) (Python .NET 連携)
uWSGI - WSGI アプリケーションコンテナ
CEFPython
Psycopg2
BeautifulSoup
Selenium
uamobile
パッケージビルドでエラーになる場合

python-hwinfo

Mutagen
PyMongo
python-vlc - VLC の Python バインディング
musicbrainzngs

PyUTM
Twitter Scraper
Facebook Scraper

PyBluez - Bluetooth アクセス
pySerial - シリアルポート アクセス

Werkzeug
OpenCV
clang バインディング

Taurus - 継続的テスト自動化フレームワーク

libtmux - tmux を制御するための Python スクリプトライブラリ
Sudo Python Plugin API
cryptography

PySpice
Bokeh - Web ブラウザー用のインタラクティブなビジュアライゼーション視覚エフェクト Python ライブラリ
nanobind
PySkein - Python 用の Skein ハッシュ アルゴリズム

Framework

Django - Web アプリケーション フレームワーク
Mezzanine
wxPython - クロス プラットフォーム GUIライブラリ
MochiKit - A lightweight Javascript library

アプリ / サービス / サーバー

youtube-dl - YouTube や他の動画サイトから動画をダウンロード
Gunicorn - Python WSGI HTTP Server for UNIX
Python 仮想アシスタント

ツール

Windows 10 の Shell コマンドの取得
巨大ファイルの分割ハッシュ値算出ツール

JIT コンパイラ

Numba: A High Performance Python Compiler
* Anaconda, Inc. が開発する Python コードの JIT コンパイラ
* 使い方は関数に @njit = @jit(nopython=True) デコレータを指定する
* @jit(int32(int32, int32)) のような型指定で更に高速化される
* @jit(nogil=True) によりマルチコアシステムを活用できる
* @jit(cache=True) によりプログラムを呼び出すたびに掛かるコンパイル時間を回避できる
* @jit(nopython=True, parallel=True) = @njit(parallel=True) により自動並列化による最適化を実行できる
* Numpy などは高速化できるが Pandas は Numba によって理解されないため高速化されない
* Numba は関数の Python バイトコードを LLVM を使用して CPU に合わせた関数のマシンコードバージョンを生成する
* Nvidia CUDA および AMD ROC GPU をターゲットにできる

Pandas がボトルネックになってもカーネル関数に分離すれば Numba で最適化出来る。
Bring Your Python Code Up to Speed with Numba - BCG GAMMA - Medium

開発環境

Eclipse + PyDev - 統合開発環境
Fedora Eclipse - 統合開発環境
IronPython Studio - IronPython(.NET 対応 Pyhton) の総合開発環境
MicroPython - マイクロコントローラー向けに最適化された Python

プロセス制御

Supervisor - プロセス制御システム

カテゴリー別

Python 音声解析

Deep Learning 関連

Python による Deep Learning の実装
Colorization AI

参考文献

Awesome Python:素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita
10 Cool Python Project Ideas for Python Developers | by Claire D. Costa | Towards Data Science
RRDtool を Python から使う | 技術的生存報告記

古いドキュメント

古いドキュメント