タグ

Pythonに関するczblueのブックマーク (65)

  • Macにpythonbrew+virtualenvでPython環境を作ってみた - ぱせらんメモ

    RubyPerlときたので残るPythonについてもpythonbrewとvirtualenvで環境を整えてみた。いい加減内容がテンプレ的で飽きてきたけどw PythonもSnow Leopardでは2.6.1なので2.7とか3.2が使いたいよねーってことで。 タイトルには「Macで〜」って入ってるけど、pythonbrew自体はUNIX系の環境で使えます。 pythonbrewっていうのは、複数のPythonバージョンを簡単にインストールしたり切り替えたりできるようにするツールで、RubyでいえばRVM、Perlでいえばperlbrewみたいなもん。*1 これを使えばOS標準の環境も汚さないし、2.6系、2.7系、3系とかプロジェクトで使用中のバージョンと最新版とか色々な複数の環境を簡単に共存させて使い分けることができる。ステキ! pythonbrewを使うとこんな感じでサクサク環境を

    Macにpythonbrew+virtualenvでPython環境を作ってみた - ぱせらんメモ
  • PythonistaにPEP8の御加護を

    pep8ってコマンドが便利すぎてちょくちょく叩くんだけど、それでも叩くの面倒になったりすることはある。正直、こういうチェッカーは空気を読んで走って欲しいですね。 ユニットテストに組み込んでるのを見つけて、おーいいじゃん素敵じゃんとか思ってたんだけどもうちょい身近に感じたいなぁと。 で、Growlの出番。セーブするたびにpep8チェックが走って結果が通知されるようにした。 でもこの通知はすぐに消える(はやすぎ)。どこがおかしいのかよく見ようとすると消えてしまってちょっと困る。逆にstickyをTrueにすると消えずに残っているのでそれはそれでうざい。 神の御加護ってのはそんなもんなのかなぁと思った。あと、アイコンをPythonの蛇ロゴにしたほうがいいかなぁと。 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

    PythonistaにPEP8の御加護を
  • X-LABO: Python + SWFバイナリ解析

    この記事のURL http://www.dango-itimi.com/blog/archives/2011/001039.html Google App Engine に試用に伴う Python の勉強として、Python による swf バイナリ解析処理を作成してみることに。 以下の URL の解説の順序通り解析処理まで作成しました。 GREE Engineers' Blog : SWFバイナリ編集のススメ第一回 http://labs.gree.jp/blog/2010/08/631/ ・少々つまずいた点 パブリッシュ設定の「XMP メタデータを含める」にチェックがあると、このデータが Header の後に追加されるようなので、ひとまずチェックを外した swf を利用しました。 Google App Engine の Python の現バージョンは 2.5.2 で、数値を二進数文字列

  • Pythonによる並行処理,マルチプロセッシング用ライブラリ/ソリューションのリスト | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー python.orgのwikiにある,Parallel Processing and Multiprocessing in Pythonの翻訳です。たくさんありますね〜。抜粋している部分があるので,詳しく知りたい人は原文を読んだりリンクを辿ることをお勧めします:-)。 Pythonには,複数のCPUやマルチコアCPU,共有メモリ環境,クラスタやグリッド環境を活用するためのライブラリが多く存在します。このページでは,個々のライブラリやソリューションの情報を調べてまとめています。 対称型マルチプロセッシング delegate - forkベース。pipeを使ってpickeしたデータを送りプ

  • 新しいPythonのIDE PyCharm | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 補完機能やコードの解析,リファクタリングやテスト,デバッガとの統合機能など,Pythonにも「至れり尽くせり型」のIDE(統合開発環境)が欲しいと思っている人は多いはずだ。これまでは,Eclipse上で動くPyDev,PyScripterなどがIDEとしてよく使われてきたように思うが,この分野に新生が現れた。PyCharmだ。 コードやプロジェクトの解析結果を反映したインテリジェントな補完やリファクタリング支援,テストコード記述支援機能やソースコードデバッガなどIDEに求められる機能はもちろん,DjangoGoogle App Engine向けの開発支援機能,hgを含めたリポジトリ連

  • Paul Grahamに聞く: Lisp対Python (2010年版) - karasuyamatenguの日記

    上記の質問がハッカーニュースに上った: http://news.ycombinator.com/item?id=1803351 さすがHNだけあって、PGはもとよりDaniel WeinrebやPeter Norvigを含む豪華絢爛のキャストで議論が行われた。 長いけどLispやダイナミック言語一般に興味のある方には一読の価値あり。以下、面白いところを数ヶ所掻い摘まむ。 古株のLisper達(例えばPeter Norvig)がPythonにくら替えしているようだけど、現時点でLisp VS Pythonについてどう思います? 確かに最近そういう傾向がある。MITでもSICPが無くなってPythonでロボットを駆るクラスに変ったらしい。 Peter Norvigです。Pythonに行き付いたのはそれがより優れ、受け入れられ、実用的なLispであるからではなく、それがより優れたpseudoco

    Paul Grahamに聞く: Lisp対Python (2010年版) - karasuyamatenguの日記
  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue

  • エキスパートPythonプログラミング読書会03に参加しました - forest book

    エキスパートPythonプログラミング読書会03 : ATND に参加して講師のお手伝いをしてきました。 2章の後半、以下の内容を行いました。 イテレータとジェネレータ itertools モジュール デコレータ with と contextlib エキ Py 読書会02 2章後半 最後にこんな質問がありました。 コンテキストプロバイダの実装方法が2通りあるが、デコレータで実装するか、with 文(プロトコル) で実装するか、どのように使い分ければ良いか? @shimizukawa に聞いてみて、とても勉強になりました。with 文を使用するときの分かり易いポイントの1つとして処理対象がクラスであれば、ベースクラスを継承してサブクラスで __enter__ と __exit__ を実装することができます。わざわざクラスで実装するほどでも、、、というときはデコレータで実装するのも良いです。そ

    エキスパートPythonプログラミング読書会03に参加しました - forest book
  • Y combinator の謎

    まとめ: Y combinator は、 不動点演算子 (不動点コンビネータ) と呼ばれるもののひとつである。 ある高階関数 f に Y を適用した値 Yf は、関数 f の不動点となる。 不動点演算子を使うと、名前のない関数でも自分自身を再帰的に呼び出すことができる: Y = (λf. (λx. f (x x)) (λx. f (x x))) Y の改良版 = (λf. (λx. (λp. f((x x), p))) (λx. (λp. f((x x), p)))) これ以外にも、不動点演算子として Turingコンビネータ θ が知られている: θ = (λx. (λy. y ((x x) y))) (λx. (λy. y ((x x) y))) (追記) λ-式 (lambda expression) は、さしずめ『関数のヒモノ (干物)』のようなものである。 水 (=引数) をかけ

  • Pythonで実行時間とメモリの測定をする – taichino.com

    しばらくベンチマークコードを書いてなくてすっかり忘れていたので、メモ書きです。今回は例題として、yahooのこのページをBeautifulSoupとlxmlでのスクレイピング比較をしてみる事にしました。比較対象の関数は以下の通りです。どちらのコードも入力・出力ともに同じなので、どちらが実行時間やメモリ使用量が少ないのかを知りたくなりますね。 # BeautifulSoup def scrape_with_bs(html): from BeautifulSoup import BeautifulSoup soup = BeautifulSoup(html) rows = soup.find('table', attrs={'class':'channel9'}).findAll('tr') channels = rows[0].findAll('td', attrs={'class':'st

  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • Pythonでvimの関数をつくる - mizchi log

    一昨日からvim縛りしている。そこそこ使えるようになってきた。 MacVimはデフォルトでPythonで関数を作れるらしいので、やってみた。 UnixTimeをエコーして挿入する function! Unixtime() python <<EOM import time, vim def make_text(): return str(int(time.time())) buff = vim.current.buffer line, col = vim.current.window.cursor insertion_text = make_text() vim.command('echo '+ insertion_text ) current_line = buff[line-1] buff[line - 1 ] = current_line[0:col] + insertion_text

    Pythonでvimの関数をつくる - mizchi log
  • The Zen of Python 解題 - 後編 - atsuoishimoto's diary

    The Zen of Python 解題 - 前編 "The Zen of Python" の役割 "The Zen of Python" は Tim Peters氏が1999年に「Pythonらしさとはなにか?」と問われて書き上げたものであることは前述した。Python 2.0 のリリースに向けて活発に開発が進められていたころである。 この Python 2.0 は、いろいろな意味で重要なリリースだ。まず、Python の著作権の帰属、ライセンス等について数々の「大人の話し合い」をくぐり抜け、現在の PSF (Python Software Foundation) による安定した体制を築き上げる第一歩となった、記念すべきリリースである。 また、このリリースでは リスト内包(例 [x*x for x in range(10)]) や累積代入文(例 a += 10) などの Python

    The Zen of Python 解題 - 後編 - atsuoishimoto's diary
  • The Zen of Python 解題 - 前編 - atsuoishimoto's diary

    The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In

    The Zen of Python 解題 - 前編 - atsuoishimoto's diary
  • Pythonの勉強をまったく始められないあなたと私に送る8つのタスク

    Google App EngineでのPythonの勉強と開発は進んでいますか? GAEでPythonを始めるときに知りたい4つのまとめ これを書いた人はというと…まったく進んでいません。 Learn Python The Hard Wayを少し読んだ程度です。 言い訳なんていくらでも出来ますね。 えーっと、仕事が忙しいから、仕事が忙しいから、そして仕事が忙しいから。 しっかり、仕事以外の勉強の時間を取ってやらないと、あっと言う間に置いてかれます。 そして、”新しいことを学ぶ”というのは日々のモチベーションに繋がりますから。 前置きはここまでにして、今日はタイトル通り、 Pythonの勉強をまったく始められないあなたと私に送る8つのタスク を紹介します。 もし、タイトルに期待して、”これさえやればPythonマスターになれる!”と思ってきた方にはごめんなさい。 99%は”Pyt

  • おっさんにもできた! PythonによるGUIプログラミング環境をUbuntuベースで構築する。 | Viva! Ubuntu!!

    初心者にも優しいUbuntuを仕事趣味に活用!いやぁ、ありがたきコンテンツが公開されております。 その名も 「おっさんにも解るPython」。 「Project Mikunchu♪」の首謀者、いや(^_^;;;中心メンバーであらせられる、かおりんさんによるありがたき福音書です。 プログラミングに手を出すくらいならば、開発環境くらい、自分でググッて調べて構築するよね。。。(^_^;と言われちゃうところでしょうが、おっさんは意外と忙しかったりするんですよね。。。ってことで、下記に手順をまとめてみました。 経験豊富な妄想力を発揮して、週末プログラマーなんていかがでしょ? ゆくゆくは、かおりんさんによるこの原作がマンガとして世に出るといいなぁなどと思ったりしながら、 おっさんのひとりである私も、さっそく手順通りにやってみました。 ま、そんなことより「萌えOS(暫定版)」にダメ出しをして(^

  • Unit Test vs Functional TestそしてClean Code - masayang's diary

    Agile2008でもらったゴムバンドを未だに手首につけている。確かBob Martinだったと思うが、テスト駆動開発と「Clean Code」の関係について熱く語っていた年だ。 メソッドは短く。 メソッドが実現することは一つ。 あるメソッドのテストに色々と条件を設定しているのなら、それはClean Codeではない。 だが我々はその基を簡単に忘れてしまう。色々とテストのための道具が揃ってきたせいもあろう。基を忘れて一つのメソッドに色々と詰め込みすぎるとテストが大変になる。Mockがあっても、だ。Fixture使うのはさらに大変だし、Seleniumとかで入力から何から条件を与えるのはもっと面倒。そしておそらく抜けが発生する。 最近、内職でPython使ったアプリを組んでいるのだが、今回は上記「基」を徹底するようにしている。例えばこんなコードがある。 def nearby(reque

    Unit Test vs Functional TestそしてClean Code - masayang's diary
  • Python初学者のためのまとめ - rokujyouhitoma's blog

    初学者=>要するに僕のためのまとめ。 分類がおかしい重要どころがバッサリ抜けてるところあるけど、ごめんなさい。 いつか更新します。 コミュニティ Python Programming Language – Official Website python.org。個人的にはPythonの総山だと認識している。 http://python.org/ PyJUG 日Pythonユーザ会 http://www.python.jp/ JZUG 日Zopeユーザー会。 http://zope.jp/ Sphinx-Users.jp Python製ドキュメンテーションビルダー、Sphinxの日ユーザ会 http://sphinx-users.jp/ http://sphinx-users.jp/ サードパーティライブラリ PyPI PerlのCPAN, PHPのPEARに似る。 http://p

    Python初学者のためのまとめ - rokujyouhitoma's blog
  • WebでPythonコードの実行過程を確認しながらお勉強 - Online Python Tutor | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー プログラミング上達のコツは,プログラムがどのように動くかをイメージできるようになることだと思う。プログラムの動く課程をイメージできるように なるための近道は,コードの実行課程を実際に確認すること。実行過程を見ながら,ある時点でどんな変数が定義されていて,どの関数が実行されていて,コー ドを実行するとどう変わるか,という課程を,ステップごとに観察すると,プログラムの挙動がイメージしやすくなる。Online Python Tutorは,プログラムの学習に便利なツールだ。 Online Python Tutorを使うと,Webブラウザ上でPythonプログラムの動きを確認しながら実行できる。