Python 備忘録（個人的ブックマーク）

多分、ゴミ投稿… :sweat: 逐次、更新。

# 覚書
## 商と余り

- [Pythonのdivmodで割り算の商と余りを同時に取得 | note.nkmk.me](https://note.nkmk.me/python-divmod-quotient-remainder/)

```python
q = 10 // 3    # 商
mod = 10 % 3   # 余り
q, mod = divmod(10, 3)    # 商と余りを同時に
```

## swap

- [Pythonで変数やリストの値を入れ替え（交換・並べ替え） | note.nkmk.me]()

```python
a, b = b, a
```

もう tmp 要らない…。

## ユークリッドの互除法 Python 版

- [拡張ユークリッドの互除法 〜 一次不定方程式 ax + by = c の解き方 〜 - Qiita](https://qiita.com/drken/items/b97ff231e43bce50199a)

```python
def gcd(a, n):
    if n == 0:
        return  a
    else:
        return gcd(n, a % n)
```

つか、標準ライブラリ等がありますね。

- [math.gcd(a, b) — math --- 数学関数 — Python 3.8.3 ドキュメント](https://docs.python.org/ja/3/library/math.html#math.gcd) ※バージョン 3.5 で追加
- [numpy.gcd — NumPy v1.18 Manual](https://numpy.org/doc/stable/reference/generated/numpy.gcd.html)
- [numpy.lcm — NumPy v1.18 Manual](https://numpy.org/doc/stable/reference/generated/numpy.lcm.html)
- [Pythonで最大公約数と最小公倍数を算出・取得 | note.nkmk.me](https://note.nkmk.me/python-gcd-lcm/)
- [NumPyで最大公約数・最小公倍数を算出・取得 | note.nkmk.me](https://note.nkmk.me/python-numpy-gcd-lcm/)

## Windows でのトラブル

- [Windows での Python の使用についてよく寄せられる質問 | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/python/faqs)

> Python をインストールせずにショートカットを無効にするには、[スタート] から [Manage app execution aliases] (アプリ実行エイリアスの管理) を開き、"App Installer" (アプリ インストーラー) Python エントリを見つけて "オフ" に切り替えます。

# Python 公式等

- [Welcome to Python.org](https://www.python.org/)
- [PyPI · The Python Package Index](https://pypi.org/)

# Anaconda 関連

- [Anaconda | The World's Most Popular Data Science Platform](https://www.anaconda.com/)
- [conda-forgeからのPythonパッケージインストール - われがわログ](https://waregawa-log.hatenablog.com/entry/2019/01/08/070000)
- [AnacondaによるPython 3.6環境構築と環境管理 | 東京大学 佐々木淳 研究室 沿岸環境学 海岸工学 環境水工学 水環境学](https://estuarine.jp/2017/07/anaconda_python36/)

# Python 仮想環境

- [venv --- 仮想環境の作成 — Python 3.8.3 ドキュメント](https://docs.python.org/ja/3/library/venv.html?highlight=env#module-venv)
- [Virtualenv](https://github.com/pypa/virtualenv/blob/64ca39f68c7070043dfd1b98017763d0d5622402/docs/index.rst)
  - [Virtualenv — virtualenv 20.0.21 documentation](https://note.nkmk.me/python-numpy-gcd-lcm/)
- [virtualenv cloning script.](https://github.com/edwardgeorge/virtualenv-clone)
- [Pipenv: Python Development Workflow for Humans](https://github.com/pypa/pipenv) 

# 科学技術計算・統計

## 公式
- [NumPy](https://numpy.org/)
- [pandas - Python Data Analysis Library](https://pandas.pydata.org/)
- [Matplotlib: Python plotting — Matplotlib 3.2.1 documentation](https://matplotlib.org/)
- [SymPy](https://www.sympy.org/en/index.html)
- [SciPy.org — SciPy.org](https://www.scipy.org/)

## 日本語での解説

- [Scipy Lecture Notes — Scipy lecture notes](http://www.turbare.net/transl/scipy-lecture-notes/index.html)
- [Python 数値計算入門](https://python.atelierkobato.com/)
- [Python でデータサイエンス](https://pythondatascience.plavox.info/)
- [SymPy による数式処理とグラフ作成 - 弘前大学 Home Sweet Home](https://home.hirosaki-u.ac.jp/jupyter/sympy/)

# GIS

- [ArcGIS API for Python | ArcGIS for Developers](https://developers.arcgis.com/python/)
- [GIS奮闘記](https://www.gis-py.com/)
  - [【Pythonで分析】ArcpyとPandasを使用して将来推計人口を視覚化する - GIS奮闘記](https://www.gis-py.com/entry/2016/01/13/095014)
- [Python 経度・緯度で与えられた２点間距離計算 - Qiita](https://qiita.com/damyarou/items/9cb633e844c78307134a)
- [Folium: Python で地図可視化 - Tak's Notebook](https://takaishikawa42.hatenablog.com/entry/2019/01/11/234716)

# 機械学習

- [TensorFlow](https://www.tensorflow.org/)
- [Keras: the Python deep learning API](https://keras.io/)
- [scikit-learn: machine learning in Python — scikit-learn 0.23.1 documentation](https://scikit-learn.org/stable/)
- [PyTorch](https://pytorch.org/)

# 形態素解析

- [MeCab: Yet Another Part-of-Speech and Morphological Analyzer](https://taku910.github.io/mecab/)
  - [スクリプト言語のバインディング](https://taku910.github.io/mecab/bindings.html) 
- [MeCab（形態素解析）をPythonから２分で使えるようにする方法](https://spjai.com/mecab/)

# Web フレームワーク

- [The Web framework for perfectionists with deadlines | Django](https://www.djangoproject.com/)
- [Home - Django REST framework](https://www.django-rest-framework.org/)
- [Flask | The Pallets Projects](https://palletsprojects.com/p/flask/)

## 番外編

- [Graphing Pretty Charts With Python Flask and Chartjs - Ruan Bekker's Blog](https://blog.ruanbekker.com/blog/2017/12/14/graphing-pretty-charts-with-python-flask-and-chartjs/)

# データベース接続

- [PostgreSQL driver for Python — Psycopg](https://www.psycopg.org/)
- [tlocke/pg8000: A Pure-Python PostgreSQL Driver](https://github.com/tlocke/pg8000)
  - [Pythonでpg8000を使用してPostgreSQLに接続&Lambdaで使う - Qiita](https://qiita.com/thimi0412/items/1002fbde100e46b51c60)
  - [pg8000の導入とSelect文の発行 - Qiita](https://qiita.com/kurukuruz/items/53780ee6b7a30cd4da41)
- [SQLAlchemy - The Database Toolkit for Python](https://www.sqlalchemy.org/)
  - [【PythonのORM】SQLAlchemyで基本的なSQLクエリまとめ - Qiita](https://qiita.com/tomo0/items/a762b1bc0f192a55eae8)
  - [SQLAlchemy ORMの基本的な使い方 - Qiita](https://qiita.com/TamaiHideaki/items/346bf843ee6ee1aa6e93)
- [andymccurdy/redis-py: Redis Python Client](https://github.com/andymccurdy/redis-py)
  - [PythonでRedisを操作しよう (基本操作編)](https://weblabo.oscasierra.net/python/python-redis-py-1.html)
  - [Redis入門とPythonでのRedis接続をやってみた - Qiita](https://qiita.com/takeh/items/8132977d9ed6f82a86f4)

# 可視化

- [Redash helps you make sense of your data](https://redash.io/)

# 画像処理

- [Python Pillow](https://python-pillow.org/)
- [scikit-image: Image processing in Python — scikit-image](https://scikit-image.org/)

# OCR

- [Python と Tesseract OCR を使って文字認識をしてみよう！ - GIS奮闘記](https://www.gis-py.com/entry/py-tesseract)
- [PythonでOCRを実行する方法 | ガンマソフト株式会社](https://gammasoft.jp/blog/ocr-by-python/)

# Excel 操作

- [openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.3 documentation](https://openpyxl.readthedocs.io/en/stable/)

# Game

- [【Pygame入門】ゲームプログラミング【Python】 | 西住工房](https://algorithm.joho.info/programming/python/pygame/)


# その他

- [Dive Into Python 3 日本語版](http://diveintopython3-ja.rdy.jp/index.html)
- [1時間で覚える?Python： イントロスペクション(オブジェクトへの質問・調査の機能)](http://bacspot.dip.jp/virtual_link/www/si.musashi-tech.ac.jp/new_www/Python_1HourStudy/index_class_introsection.html)