Python

Python Workshop the Edge 2007 申し込んだ

404 Not Found ハンズオンセミナーどうしよっかなーとボケーっとしてたら、いろいろいっぱいになってた! IronPythonの申し込もうかと思ったけど、ノートPCがMacしかないからどうなんだろうと思って止めといた! 懇親会申し込んだけど今からドキドキ!

じぇねれーた

そういえば, 関数の引数の適用されるタイミングを制御する - Bouldering & Com.とかで、クロージャ云々とか書いてたけど、Pythonだったらジェネレータ使えばいいじゃんという話だったのね。 In [39]: def foo_gen(x): ....: for i in range(1,6): ....: yiel…

無駄にジェネレータを使ってみたFizzBuzz

ジェネレータの練習。FizzBuzz判定はFizzBuzz問題 - Engineer as a Lifestyle @tenkomaでの自分的なお気に入りをパクらせてもらいました。 def fizzbuzz_gen(max): for i in range(1, max + 1): yield "Fizz" * (i % 3 == 0) + "Buzz" * (i % 5 == 0) or i f…

パスワード風のランダムな文字列の生成

なんかすごく恥ずかしいことを書いてる気がする。 "".join(random.sample("".join([str(i) for i in range(10)] + [chr(i) for i in range(65, 91)] + [chr(i) for i in range(97, 123)]),8)) "".join(random.sample('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZa…

宣言型ミニ言語の作成とかなんとか

IBM からのお知らせ : 申し訳ございません。該当するURLのページが見つかりませんでした。 DSL云々はなるほどなーという感じだけど、Pythonの変な書き方も面白い。 こんなコードを書いて、 # magic_lex.py import sys import types try: raise RuntimeError …

フォーマット記法とlocals()

2006/12/26 自前RSSアグリゲータ - 清水川Webで書かれてた print template % locals() という記法は知らなかったのですが、%演算子がフォーマット記法で、locals()でローカル変数が入った辞書が取れるんですね。 Python 2.5 Quick Reference Python 2.4 クイ…

関数の引数の適用されるタイミングを制御する

の続き。コメントで教えてもらったので試してみました。 自分のあたまで悩んだので血肉にすることができました。これでもう同じようなことで悩まなくて済むし、Pythonの遅延評価の仕組み、関数の部分適用、数値型エミュレートに馴染むことができました。だい…

関数の所属するスコープはグローバルな名前空間?

関数自体が所属する空間ってどういう扱い?全然わからなかったけど、いろいろ試してドキュメントを読んだら、どうやらグローバルなところっぽい。クラス作らないといけないぽい。うーん、めんどくさいよぅ。もっと、テキトーに書きたいのにー。JavaScriptみ…

BaseExceptionなんていうのがあるのね

ExceptionじゃKeyboardInterruptは拾えないの? - Bouldering & Com.で基底クラスのはずのExceptionでKeyboardInterruptがキャッチできない!って書いたけど、よくわかんなかったので、ソースをみたら、BaseExceptionとかいうのを継承してるように見えたので…

ExceptionじゃKeyboardInterruptは拾えないの?

In [104]: try: x = 1/0 except ZeroDivisionError, e: print e.__repr__() .....: ZeroDivisionError('integer division or modulo by zero',) みたいに書けば例外処理ができるのはわかるし、リファレンス読むと、 Exception が例外の基底クラスって書いて…

IPython0.7.3をMacOSXに入れてみた

Python2.5を正式にサポートしてるIPython0.7.3がでていたので入れてみました。 Python2.5自体にreadlineが入ってるだったかのおかげか、ふつーにAnnouncements — IPythonに書いてある通りに python setup.py build python setup.py install_scriptsとしたら…

IDLEで日本語が通らないや

戯れにPython2.5をインストールしたときに入ってたIDLEを試してみたけど、コンテンツアシストがちゃんと動いてていい感じ。インスペクションがないけど。でも、日本語を入れようとしてもIMEのことえり自体がアクティブにならない。なんでなんだー。

モジュールのインポートをやり直す

まとめ 404 Not Found Pythonのimportはシングルトンだそうです。importし直しても同じオブジェクトの名前空間を変えるだけ。モジュールをimportし直したいときは、 reload(foo) みたいにすればok。 経緯 かんたんなスクリプトを書くのでも、対話シェルで実…

Python Developers Camp 2007 Winter

[Python-ml-jp 3841] Re: PIL1.1.6でのJPEGサポートについて PyJUG Workshop運営部会のひとたちのエネルギーってすごいなぁ。精力的に動いててかっこいい。 今回のテーマは初心者底上げということのようなので、自分にピッタリだ!TurboGears勉強会はドタキ…

20分Wikiのトレースした

気力がなくなって鬱になってTurboGears勉強会に行けなかったので、20分Wikiのトレースをやってました。ビデオのは0.9が対象だけど、1.0向けのはドキュメントのほうがアップデートしてあるんですね。 やってみた感想ですが、よく言われてるみたいにプレゼンテ…

pysqliteを入れるのにすごく苦労した話

まとめ Mac OS Xには標準でSQLite 3.1が入ってますが、これだとpysqlite 2.3.2が動かないみたいです。既存のSQLiteを上書きするかたちでSQLite 3.3.10を入れ直したら、pysqliteもちゃんと入りました。 経緯 TurboGearsの「20分で作るwiki」のビデオをみなが…

TurboGears入れたけど超たいへんだった

Python2.5を入れてたけど、TurobGearsは依存ライブラリの関係で2.4までしかサポートしてないらしい。Python2.4はDarwinPortsでいれたのがあったので途中までそれを使ってたけど、/usr/local/binとかには入ってないから面倒くなって、普通に入れ直し。 Python…

TurboGears勉強会

turbogears-ja | Google Groups 行きたい。けど、触ってから参加したほうがより楽しめそうな気がするので、触ったあとに参加登録しようと思う。触らなかったら参加しない。

Tkinterおもしろ

インタラクティブにGUIを組み立てるのっておもしろ! HSPみたいな感覚でGUIを作っていける。スクリプトにGUIのインタフェース作ってみるのも面白いかも! In [1]: import Tkinter In [2]: f = Tkinter.Frame() In [3]: def cmd_clk(): ...: print 'hogehoge'…

IPythonでのunicode文字列が微妙 完結編

unicode文字列が欲しかったら、毎回こんなん? In [54]: unicode('あ', 'mbcs') Out[54]: u'\u3042' In [55]: print unicode('あ', 'mbcs') あそんなー。encodingで"mbcs"を指定すると、ロケールから適切なエンコーディングスキームを取得してくれるとかなん…

IPythonでの日本語が微妙 2

と思ったら、ちゃんとバグとして報告されてた。 http://projects.scipy.org/pipermail/ipython-dev/2006-August/002305.htmlけど、解決してないじゃん。んがー。 I have 'UTF-8' for all the cases (ipython and python, sys.stdin.encoding and sys.stdout.…

IPythonでの日本語が微妙

IPythonだと、"u"をつけてもunicode文字列として扱ってくれてない? Python (command line) >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> src = u'あ' >>> src u'\u3042' >>> print src あ >>>普通。"u"をつけてunicode文字列として扱えば、uni…

IPython0.7.2 at Python2.5 on Windows

ついでに会社のWindows環境のPythonも2.5に変更。IPythonじゃないとツライので、pyreadlineとかを全部アンインストールして入れなおしてみた。以下、入れたもののメモ。下記の順番で入れました。 python-2.5 pyreadline-1.3 ipython-0.7.2 2.4のときにはctyp…

PythonでExcelファイルを触る

pyExceleratorでできるみたいなので、[思] PythonでExcelファイル作成のまんまでインストールして試してみた。 In [42]: import pyExcelerator In [43]: workBook = pyExcelerator.parse_xls('foo.xls') In [44]: sheet = workBook[0] In [45]: sheet[0] Out…

試してみたい

web.py Colubrid 軽量でちょろちょろっと使えるみたいなので試す。

IPython on Mac OS X

会社のWindowsのほうには入れていますが、実際にPythonのコードを書いてる、家のMacには入れてなかったので、入れてみました。 けど、なんかreadlineとかでいろいろ問題があるとかで実際に入れてみても履歴も使えず、素のPythonとほとんど変わらない状態。 …

インクリメント演算子, デクリメント演算子

Pythonにはないのね。なんとなくPythonにないのは腑に落ちるけど、Rubyにもないのか。へー。覚えることを少なくするため、っていうことなのかな。あー、忘れてたけど、インクリメント演算って、前置とか後置とか意識するのめんどくさいし、挙動がいろいろ微…

引数のデフォルト値の利用

引数のデフォルト値はまあわりと使うので、用意されてるのはありがたい。 #!/usr/bin/env python import os import os.path import sys import urlparse import urllib import datetime def get_prefix_uniq_name (dir, f_name, char_code = 65): if not os.…

みんなのPython 読了

みんなのPython作者: 柴田淳出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/08/22メディア: 単行本購入: 11人 クリック: 620回この商品を含むブログ (180件) を見る 読み終わった。標準ライブラリにいろいろあるんだなー、とか、プロパティもメソ…