語言核心
深入探索
- Eval really is dangerous, Python的Eval無論怎樣難以做到安全,看來Python裡做沙盒很麻煩
- Exploring Python Code Objects, 上面的文章用到了Python的
code
對象,這裡有進一步的探索- dis — Disassembler for Python bytecode,對於
code
對象,可以用dis反編譯看生成的字節碼
- David Beazley - Python Concurrency From the Ground Up - PyCon 2015
- Python behind the scenes
- Python.asdl
- The Zephyr Abstract Syntax Description Language
- PEG Parsing Series Overview by Guido van Rossum
- Parsing expression grammar
- pegjs: online
- 擴展 Python
- C 擴展 Python:https://docs.python.org/zh-cn/3/extending/extending.html
- Rust 擴展 Python:
- https://dvigneshwer.github.io/posts/2016/04/Rust-Python/
- https://blog.yossarian.net/2020/08/02/Writing-and-publishing-a-python-module-in-rust
Python 科學計算
Introduction to Linear Algebra for Applied Machine Learning with Python
PySDR: A Guide to SDR and DSP using Python
The Most Complete Guide to PyTorch for Data Scientists
Top 10 Python libraries of 2020
Darts: Time Series Made Easy in Python
工具鏈
- Python跨平台GUI開發框架: kivy
- Python性能分析器:pyinstrument
應用
- Python處理電影: python-for-feature-film
- Python處理Excel: python-excel-range
- Python游戲:Pygame
- Python故事:Python VSCode Stories
混亂的Python多版本管理
python 與 pip
// TODO
手工切換
// TODO
使用 pyenv 管理
基本操作:
- 列出可安裝列表:pyenv install --list
- 列出已安裝列表:pyenv versions
- 選擇使用哪個作為全局:pyenv global xxx
如果是 mac os | fish shell 環境,pyenv 默認不支持,需要添加下 fish 的配置:
編輯文件:~/.config/fish/config.fish
添加配置:
set -x PYENV_ROOT $HOME/.pyenv
set -x PATH $PYENV_ROOT/bin $PATH
status --is-interactive; and . (pyenv init -|psub)
status --is-interactive; and . (pyenv virtualenv-init -|psub)⏎
使用 conda 管理
conda 的兩個版本
如何選擇?
// TODO