■
このサイトの目的
悩まないようにすること
誰のために書かれたの?
Python の基本的な文法を習い終えて、1、2年くらいした人を対象に、 ある程度、深いところまで一気に辿り着くことを目的に作成しました。 Python そのもののことで悩むことがないようにすることです。
最大限頑張りましたが Python を習いたてのに人には厳しいかもしれません。 わからなかったり興味がなかったら、しばらく置いておいてください。
ここに書かれていることは、知っていた方がいいですが、知らなくてもいいことです。 無理をさせてしまい Python を嫌いになるようなことには、なって欲しくないなと思っています。
悩まないようにするなんて無理なんじゃないの?
もちろん Python の全てのことを網羅することはできません。 もう少し具体的にこのサイトの目的について言えば、「公式ドキュメントを読めばわかるようになること」です。
ある程度のところまで来ると、通常の Qiita やブログの記事がなくなってきて、
公式ドキュメントを直接のぞいて見ざる得なくなります。
公式ドキュメント
しかし、公式ドキュメントは、かなり難しいです。 これは公式ドキュメントが、プログラミング経験者で Python を初めて触る人を対象に書かれているからです。
Pythonチュートリアルを読む私です pic.twitter.com/C35ZcAI4wA
— ネオ無宛(insane)@Python🔰 (@LwVe9) July 18, 2018
9.2. Python のスコープと名前空間 - Python チュートリアル
しかも、さらに悪いことに、ドキュメントもいまいちわからず、
直接 CPython のコードを読まないといけないシーンも出て来るそうです。
自分は、まだ、あまりないですが。
cpython - GitHub
Python の言語仕様というものは、確かに存在します、 しかし大抵の場合は、インタープリタの実装を書き起こしただけですし、 あるいは説明不足だったりします。
There is a language specification but in many cases it just codifies what the interpreter does or is even lacking.
私が見たい Python - The Python I Would Like To See
リスト中で、値 x を持つ最初の要素を削除します。該当する項目がなければエラーとなります。 (え?「値」って何!?)
list.remove(x) - Python チュートリアル
こちらはarrayの方が若干速いですが・・・速い方のarrayで1分以上かかっているので、 先頭から削除はやったら即死の禁じ手です。 (え?なんで!?)
あなたのPythonを爆速にする7つの方法
どれも、一瞬、面食らってしまう文章です。このサイトでは、Python の基本的な文法を理解した人が、これらの文章を理解できるところまで、いっきに達することを目的にしています。
でも、どうやって?
Python が、どのようにして動いているのか How、なぜそのように動いているのか Why について理解を深めます。
題材に取り扱うのは、最初に習う オブジェクト, if 文, for 文 という、ありきたりなものを題材にします。しかし、改めて見ると、これらは、意外と奥が深いものです。
なんで書いたの?
昔 PHP, Java でさえ苦しんでいた自分には、可読性を重視して設計された Python は触っていて、心地いいものでした。
Guido やほかの Python 開発者たちが何を考え、配慮してくれたか、知りたくもありましたし、またそれを誰かに喋りたかったからです。
『どの作品も、よくできた小説なら必ず与えてくれるものをそなえている — いっときのあいだ、みなさんの心にある現実の重荷を忘れさせ、今までに行ったことのない場所へつれていってくれるはずだ。』
— スティーブン・キング, スタンドバイミー, 冒頭「はじめに」で