web-dev-qa-db-ja.com

Pythonプログラミングパターンと実践?

python毎日使用しているプログラミングパターンと実践は何ですか?

私はデザインパターンだけを意味するのではなく(OO Pythonで使用できるデザインパターンがたくさんあります)、純粋なコーディングパターンと以下のようなプラクティスを意味します。

  • モジュールを整理する最良の方法
  • データ解析の最良の方法(パフォーマンスに関して)
  • プライベート関数の使用(クラス外のプライベート関数にアクセスできるため、これは理にかなっています)
  • gUI、データベースなどに最適なモジュールは何ですか.

この問題に関する新しい本や他の種類の文学はありますか(2010/2011)?

もちろん、質問は1つの回答または1つの本で答えることはできません。pythonプログラミングパターンについてはあまり書かれておらず、非常に強力な言語。

6
shake

実践

テスト:単体テスト、統合テスト、機能テストは、あなたが仕事をしなければならない方法です。

最も驚くべきことは、フレームワークへの依存関係を偽の実装で置き換えることができるコード構造を作成する必要があるため、単体テストは他のものよりはるかに複雑です。

たとえば、次のコードを確認できます: https://github.com/collective/collective.gallery/tree/master/collective/gallery/tests

utils.pyには、次にセットアップで使用する偽のコンポーネントが含まれています。これは、テストしているクラスのみを使用していることを確認するためです。

パッケージング

'Egg'を使用してコードをパッケージ化し、使いやすくしています。だからあなたはあなたのアドオンをウェブサイトで公開することができます http://pypi.python.org

卵を作成するには、PasteScriptを使用できます。 http://pypi.python.org/pypi/PasteScript

パッケージを理解するには、これを理解する必要があります。

  • distutilsは、依存関係とパッケージのビルドおよびインストール方法を示すためのsetup.pyファイルです
  • setuptoolsは、デフォルトのEggリポジトリー(apt-getの一種)としてpypiを使用してeasy_installコマンドを追加します。今日、distributeという名前のsetuptoolsのフォークがあります。
  • buildoutは、同じ卵の複数のバージョンを取得する方法を追加し、binフォルダーに配置された「スクリプト」内にシステムパスを構築します。 http://www.buildout.org/

パフォーマンス

どんなパフォーマンスが最初にチェックされることはありません、これは悪いです。パフォーマンスに問題がある場合は、パフォーマンスに取り組んでいます。

http://pypi.python.org/pypi/funkload は、パフォーマンステストを作成するための優れたツールです。

Pythonは、コードをプロファイルするツールを提供します。グーグルさせてやる。

民間

Sthを他の開発者に決して隠さないでください。 「プロパティ」はあなたのパブリック変数をaccessor&mutatorでラップし、あなたが望む仕事をします(決して壊さないでください)

http://docs.python.org/library/functions.html#property

データベース

私は http://pypi.python.org/pypi/psycopg2 をpostgresqlで使用しています。 Python 2.5からSQLiteバインディングを埋め込んでテストを構築

http://zodb.org/ZODB はZopeフレームワークの外部で使用でき、Pythonで最も古いnosqlデータベースの1つであることも考慮する必要があります。

私の好きなもの: http://www.packtpub.com/expert-python-programming/book

お気に入りパッケージとツール

3
toutpt