タグ

pythonに関するMonMonMonのブックマーク (49)

  • Pythonらしいコードの書き方 - Kesinの知見置き場

    はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Idiomatic Python"という発表を見つけたのでそのまとめです。 今どきのPythonコードのベターな書き方を紹介しています。 Transforming Code into Beautiful, Idiomatic Python ... スライドはこちらにありました 結構長くなってしまったので、知ってる項目は読み飛ばしてもらえばと思います。 ループの基 整数のループ まずは基のループ。 Cのfor int i=0; i<6; i++をPythonで単純に書くとこうなります。 for

    Pythonらしいコードの書き方 - Kesinの知見置き場
  • Python製コマンドラインツールのディレクトリ構成について。その考察。 - カイワレの大冒険 Second

    はじめに 去年ぐらいからPython製のコマンドラインのツールをいくつか作っていて、構成もだいぶ固まってきたので、まとめてみる。規模としては1ファイルでは終わらないぐらいで、関数の数も数十になってユーティリティを作ったり、クラスをいくつか作らないと、保守がしにくいような規模のものを想定しています。工数としては1日では終わらないけど、2週間はかからない程度の規模を想定。 構成 ということで、まず構成をさらしてみます。 こんな感じ。 SAMPLE_PROJECTレポジトリがあったとして、その具体的な構成が以下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 . ├── README.md ├── RELEASE.md ├── TODO ├── bin │   ├── command1 │   ├── comm

  • Pythonで基本のアルゴリズムを書いてみた - Something Beyond

    2015-01-05 Pythonで基のアルゴリズムを書いてみた Programming アルゴリズムを学ぶ意義みたいなものはいろいろなところで語り尽くされていると思うので私からは特にコメントしませんが、今回の勉強に利用した書籍でも引用されていた言葉が印象的なので、記しておきます。 最先端の機械を使って製品をつくるのは簡単で、しかも楽なことだが、基技術を固める前に楽なほうに流れていってしまった。俺のような基的なことがきちんとできるローテクが、今、我が世の春を謳歌しているんだ。 岡野雅行さんという職人さんの言葉のようです。そういえば随分前にこんな記事が盛り上がりました。 今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 最新技術だけではなくて、その基礎となる技術をしっかり理解しなければダメだよということでしょう。ということで基のアルゴリ

    Pythonで基本のアルゴリズムを書いてみた - Something Beyond
  • Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) | yunabe.jp

    Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) Python のパッケージ管理関係の情報がオフィシャルには整理されてなく、 またパッケージ管理まわりででてくるキーワードもいくつもあって分かり難いので完結にまとめてみました。 このドキュメント自体は少し長いですが、結論としては2015年1月時点では 原則 pip を使ってパッケージの管理を行う setuptools も広く使われているので入れておくとよい。そもそも pip のインストール時に自動的ににインストールされる distribute は 2013年に setuptools にマージされたので不要 という方針でよいと思います。 ただ少し古い情報ソースやパッケージのドキュメントを読んでいると distribute の利用が勧められていたり、 site-packages, e

  • 複数バージョンのPythonを使い分ける

    なんとなくネタとして。 Pythonは大きく2系と3系になってますが、そろそろ3系に移行しつつも2系のケアをしてあげないといけません。 なので必然的に複数バージョンのPythonを使い分けることになります。 なんかそういうの簡単にできちゃうよーという 超便利ツール があるらしいですが なんでわざわざツールの使い方覚えないといけないのかさっぱり理解不能なので、 超便利ツール にさっぱりついてけないなりのやり方をメモっておきます。 方針とか プロジェクト内ごとの環境は virtualenv を使う tox を使ってバージョンごとのテストなどを実行する /opt/python-{version} にインストールする バージョンつきの pythonコマンド(python3.4,``python2.7`` など) は PATHに常に含まれるようにする とりあえずvirtualenvするには pyth

  • Numpy.hpp - .npyファイルを手軽に扱うためのヘッダライブラリ

    Introduction ご存知の通り,C++は画像処理などの大規模計算に適した言語であり,Pythonはこれらの結果を簡単にscipyやmatplotlibを使って可視化できます.そのため,多くの研究者はコアの計算をC++で行う一方で,データ整理や実験結果の可視化にはPythonを用いるアプローチが一般的でした. その際に重要となってくるのは,Numpy標準のファイル形式である.npyファイルを読み書きするための,C++ライブラリの存在です.これまでにもlibnpyなどに代表されるいくつかのライブラリが存在していましたが,予めコンパイルする必要があるため気軽に使えない,またMSVCなどの環境で使用できないなどのいくつかの欠点がありました. Numpy.hppはこれらの問題を解決するために作られたライブラリです.Numpy.hppの特徴は次の2つです. Header-only: Numpy

  • waf チュートリアル - 純粋関数型雑記帳

    waf - The flexible build system http://code.google.com/p/waf/ wafというものを最近知り一目惚れしてしまったので、紹介記事を書きます。ユーザーが増えると嬉しいな。 wafとは何か?特徴・利点・使うべき理由 wafはPythonベースのビルドシステムです。同様のことを行うツールとして、Autotools、Scons、CMake、Antなどがあります。Sconsからの派生で、比較的新しいソフトウェアです。 分かりやすい Pythonで書かれており、スクリプトもPythonで記述します。シェルスクリプトと謎のマクロが入り混じるAutotoolsや、独自言語のCMakeなどに比べて扱い易いです。Pythonを知っていれば非常にすんなりと使いこなすことが出来ます。Pythonを知らなくても、他の独自言語を覚えるよりは実りがあるかと思います

    waf チュートリアル - 純粋関数型雑記帳
  • 実践 コンピュータビジョン

    コンピュータビジョンの理論とアルゴリズムを基礎から学べる実践的な入門書。理論の説明にとどまらず、ベクトル演算や行列演算を駆使したサンプルを示しながら物体認識、3次元復元、ステレオ画像、拡張現実感、その他の応用について解説します。サンプルプログラムはPython 2.7で書かれています。OpenCVを使うだけではコンピュータビジョンの質を理解できません。forループでピクセルを操作し行列を計算する時代でもありません。Pythonの数値演算ライブラリを使えば、ほどよい粒度でコンピュータビジョンの基礎を学べます。各章末には演習問題が用意してあります。演習問題を解くことで自分がその章で何を学んだのか、また自分の理解度を確認できます。 ●書で扱うサンプルプログラムの説明(サンプルコードは「関連ファイル」タブページからダウンロード可)。 翻訳者の相川氏のブログには、書の追加情報や関連する技術情報

    実践 コンピュータビジョン
  • Pythonでデザインパターン - モジログ

    GitHub - faif / python-patterns https://github.com/faif/python-patterns GoFデザインパターンのPythonによるサンプルコードを集めたプロジェクト。以下の各ファイルが入っている。 - abstract_factory.py - adapter.py - borg.py - bridge.py - builder.py - chain.py - command.py - composite.py - decorator.py - facade.py - factory_method.py - flyweight.py - iterator.py - mediator.py - memento.py - null.py - observer.py - pool.py - prototype.py - proxy.py -