2009-09-29 6 views
9

私はPythonをしばらくプログラミングしてきましたが、その機能をよく理解していますが、コーディングスタイルを改善したいと思います。私はPythonモジュールのソースコードを読むことは良い考えだと思います。誰もが特に何かをお勧めできますか?Pythonモジュールの読解が最も役に立ちます

関連スレッド:

+0

私はitertoolsとDjangoの両方をアップビューしました。どちらも、私がPythonを学んだ方法です。それは非常に良いコードとよく知っている重要なモジュールなので、itertoolsの+1。 +1はDjangoのために私が今まで見た中で最も厳しいコードの一部です。 –

答えて

18

Queue.pyは、スレッドセーフなクラスの作成方法と、Template Methodデザインパターンの適切な使い方を示しています。

sched.pyは、Dependency Injectionパターンの素晴らしい例です。

heapq.pyは、Heapデータ構造の実際に作成された実装です。

Python標準ライブラリで3つのお気に入りのモジュールを選ぶ必要があった場合、おそらくこのトリプレットが私の選択です。 (それは彼らがすべてそうだと傷つくことはありません非常に ...しかし、私はコードの品質、コメントとデザイン、まず第一にピックアップしています)。

+0

スレッド通信を扱う場合、キューは*素晴らしい*です。 @FogleBird、 – FogleBird

+0

が合意した。イテレータを扱うときにitertoolsもそうですが、itertoolsはありません。py、そして誰かが良いPythonモジュールを読んでくれと頼んだら、http://svn.python.org/view/python/trunk/Modules/itertoolsmodule.c?revision=73536&view=markupは良い提案ではありません! - )有用性は1つの基準、しかし実際に尋ねられた質問に照らして2番目の基準;-)。 –

+0

@Alex:私は、ポスターをPythonの実装のためにCモジュールを読むように頼んでいませんでした。彼がコーディングスタイルを改善しようとしているのであれば、おそらく彼は良いPythonコードを見て、モジュールの使い方を学びたいと思うでしょう。少なくとも、これが私の要求です。アンカーを見て(どこにいても)、私は質問が書き直しや焦点を絞っているかもしれないと言っています。 – hughdbrown

6

に影響を与えました。おそらくソースを読んでからではありませんが、このコードを使用することで多くの関数型プログラミングスタイルを学ぶことができます。

優れたモジュールごとのチュートリアルについては、Doug HellmannのPython Module of the Weekを試してみてください。私はまた、WordAlignedで探究し開発したPythonプログラミングスタイル/プラクティスが好きです。私もPeter Norvig's codeが好きで、特にspelling corrector codesudoku solverが好きです。

他のクールな学習モジュール:コレクション、演算子、os.path、optparse、およびプロセス/スレッドモジュール。

0

私はジャンゴを学んでいると私は本当に自分のコーディングスタイルが好き、

+1

Djangoソースには興味深いアイディアがありますが、避けるべきこともたくさんあります。私は特にdjangoを柔軟性のないものにするすべてのものに対してグローバルを使うのは嫌いです。 –

+0

私はPythonには新しく、柔軟なWebフレームワークを探しています。あなたの提案は何ですか? –

+0

Djangoは間違いなく最も人気がありますが、私はしばしばそれがあまりにも魔法的である(私に代わってあまりにも多くを隠しています)。私はしばしば軽量ヘルパー(ほとんど、Werkzeugのサブセット)を使ってWSGIに目を向ける。しかし、私はそれが独特のスタイルだと思う(サーバー側はウェブサイトよりもwebappよりも多く、ブラウザ上でjavascript + dojoに豊富に委譲された "view"機能)、ほとんどの人はより豊かなサーバー側のフレームワークを好みます。 Djangoの主な候補は、Pylons/Turbogears2、またはZope/Ploneの本当に豊かで重い極端な部分です。 –