Python実践入門 1章と2章
#Python #Python実践入門
1章 Pythonはどのような言語か?
インデントにより誰が書いても見た目が整う
esaka.icon ソフトタブ・ハードタブで環境依存発生するし、Goとかはfmtで鉤括弧でも見た目整うし、インデントにこだわる必要はないのかなと思ってる。 あとインデントだとブロックの終了地点が分かりづらくて個人的には嫌い
PEP 8のスタイルガイドでスペース4つをインデントにすることが公式で定められてるし、そうでもないかもしれない
後方互換性の重視
https://docs.python.org/ja/3.7/faq/general.html#is-it-reasonable-to-propose-incompatible-changes-to-python
Python の互換性を無くすような提案をしてもいいのですか?
一般的には、してはいけません。世界中にすでに何百万行もの Python コードがあるので、既存のプログラムのどんなに僅かな部分でも無効にしてしまうような言語仕様の変更も認められてはなりません。コンバートするプログラムが出来てさえ、すべてのドキュメントをアップデートしなければならないという問題があります。 Python に関する多くの本が出版されているので、それらを一発で不適切にするようなことはしたくないです。仕様を変えなければならないのなら、緩やかなアップグレード計画が組まれなくてはなりません。 PEP 5 で、ユーザーの受ける分裂を最小限にしながら後方互換性のない変更を行うために従うべき手順について説明しています。
esaka.icon Python、言語としては後方互換性は考えられてると思うんだけども、主要なライブラリが新しいマイナーバージョンアップ対応出来てないとかなると結果的に互換性ないように見えてしまう。(Pythonは特に主要外部ライブラリが標準ライブラリのように感じてしまう) https://twitter.com/esakatomm/status/1402284224967700485
PEP 20: The Zen of Python
esaka.icon The Zen of PythonのAlthough多用して例外入れまくってるのが、あの一貫性のない仕様に繋がってるのかなと思った。 https://twitter.com/esakatomm/status/1398933471922327554
DocString
code: docstring.py
def foo():
"""これDocStringっていうんですね
hoge
"""
2章 Pythonのインストールと開発者向けの便利な機能
特になし
help関数が便利くらい