タグ

ブックマーク / www.nishiohirokazu.org (6)

  • 西尾泰和のブログ: Pythonでワンライナーを作成する際のノウハウ集

    これはLL Ringというイベントの「じゃんけん2.0」に出場する際に「多くの構文に改行が必須であるPythonで書かれたじゃんけんエージェントをワンライナーにしていたらウケるかな」と思ってワンライナー化しているときに書いたメモです。自分用のメモのつもりだったので書き殴ってありますが、意外と人気のようなので近いうちに加筆します。 実は後から書いた英語版(How to make oneliner in Python?)の方が整理されているのかも。 完成したワンライナー def文を式にする defは改行を要求するのでlambdaに置き換える必要がある。 def foo(x): return x + 1(ここに改行) foo = lambda x: x + 1 globals().__setitem__("foo", lambda x: x + 1) lambdaは式しか含むことが出来ないので、

  • nilは比較できるといい? @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 nilは比較できるといい? arai blogの同名記事にRubyのnilは数値と比較できないうんぬんの話が書かれている。 Rubyのnilって、Javaのnullとはまったくの別物なんじゃないかと思うんだけどどうなんだろう? コメントを見ていると「あれ?nilはnullなの?」と言う気にもなるけど、 そんな設計になってるのかなぁ。 まぁ、Rubyのことは詳しく知らないのでPythonの話をしよう。 PythonのNoneはnullのような目的で使われるオブジェクトで >>> None >> Non

  • Pythonでメモ化 @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 Pythonでメモ化 結城さんの日記を読んで「メモ化って何だろう」と思いました。 もともとのK.Inabaさんのエントリは読んでみたけれどもメモ化の説明はなかったのでよくわからず…nobsunさんによる、HaskellのMemoiseにはメモ化の説明が書いてありました。 ふむふむ、つまり再帰的に定義されたフィボナッチ関数を呼び出すと、同じ引数で同じ関数が何度も呼び出されて効率が悪い、と。 def fib(x): print "fib(%d) was called" % x if x == 0 or

  • RSSを取得するプログラム @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 RSSを取得するプログラム EnglishImprinterに貼り付ける英文をスラッシュドットのRSSから取ってきたら面白いかと思ってRSSの取り方を調べる。 import feedparser d=feedparser.parse("http://slashdot.org/index.rss") return d.entries[0].description えっ、3行…。さすがPython…。 追記@2004/12/09 このエントリはJythonでRSSを取得とRSSを取得するプログラム-補足

  • PythonでUSBカメラから読み取り @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 PythonでUSBカメラから読み取り 明日から研究室旅行なのでサタデーハッキング(何故) VideoCapture をダウンロードして、DLLsの中身とLibの中身をそれぞれPythonのインストールフォルダの下の同名フォルダの中にコピー。 >>> import VideoCapture >>> cam = VideoCapture.Device() >>> cam.getImage() <PIL.Image.Image instance at 0x00C1AD28> >>> _.save("c:

  • Pythonでスペクトラム解析 @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 Pythonでスペクトラム解析 カリンバの調律の話の続編。 左右交互に半音ずつ上がる調律に変えたら、僕の音程分解能ではさっぱり調律できなくなってしまった。そこでスペクトルアナライザを作成。とりあえず一番下の音(僕としてはドのつもり)を録音してtmp.wavという名前で保存。PythonにはNumericPythonとかがインストールされているものとする。 import wave fi = wave.open(r"c:\tmp2.wav") (_,_,frameRate,numFrames,_,_)

  • 1