python

デフォルト引数の後書き

知らんかった >>> def foo(a,b,c): ... print locals() ... >>> foo(1,2,3) {'a': 1, 'c': 3, 'b': 2} >>> foo.func_defaults=(11,22,33) >>> foo() {'a': 11, 'c': 33, 'b': 22} >>> foo() {'a': 11, 'c': 33, 'b': 22} >>> foo(1) {'a': 1, 'c': 33, 'b': …

from optparse to argparse

なんであれ移行にはコストがかかります。 けれど、移行しないとみえてこないこともあります。このargparse、Python2.7の時にチラ見して、「めんどくさー」とかになってしまい移行する意義をつかみ切れずにいたんだけど、 スイッチ系オプションで'+'を使いた…

ランレングス圧縮におけるWyle符号とか

・・・・イケマセン、また少しあいてしまいました。 復活しなきゃーと思うんですが、先週は遊びほうけすぎてまだまだリハビリ失敗なので、先週末になんかやってた話とかで誤魔化そうとか。。。 ある日のこと とある圧縮の本を見ていたら最初のほうにランレン…

BaseHTTPServerのDataフィールド

お仕事で、とある検証の結果表示をpythonのSimpleHTTPServerを利用してネットから取得できるようにしていたんだけど、車輪の再発明をしたくなって、全部素で書いてみたりした。要するに遊び(一応セキュリティ上の問題と実験、という名目はある)。そのとき…

site.py ってどうやってパスを設定しているの?

なんとなくしか理解していなくて、どうでも良いことなんだけど、よ〜く考えてみるとなんか不思議になってきて気になって仕方が無くなるシリーズ。略して「なんよ」。第一弾はpythonのsite.pyがどうやってsite-localな追加モジュールなどを追加しているのか編…

XML-RPCサーバとかの実験

ちょっとした進捗管理の実験に、ちょっとしたサーバを立てようと思って、しかしフレームワーク使うほどでもないなあとか、既存のもの使うのやだなあとか、なんか新しいもの勉強したいなあ、とかいう欲求からついカッとなって自前で変なものを作ろうとした際…

梅.py Code Camp #1 in Kyoto いきます

10/23-24に関西Pythonというか梅(既に梅田イベントではなくなってるけど・・・).pyな集まりで Code Campをする、というお話を聞いて、「ぉお、今度こそはおいしいごはんをたべる Pythonどっぷりつかってやるぞ!」というわけで参加することにした。 と言った…

class local instance variable

yuyaさんにクラスローカルインスタンス変数を教えてもらったは良いけれど、ネットで調べてみてもいろんな記述があって訳ワカメ。どうかくのが正しいのか良くわかんない。Smalltalkだとまんま ... class instanceVariableNames: '...' があるのだけれど・・・…

3.1での変更点とか

しばらく追いかけてなかった。ので、久々に追いかけて覚書。 PEP 372: 順序付き辞書 rubyでも1.9からこっちになって、しかしあんまり利点がわかってなかったんだけど、例えばconfigファイルとかでパースして利用して、それを読み込んだ順でそのまま保存でき…

decoratorとかmemoizeとか

ふと python の decorator が気になってきていろいろ考える。@staticmethod って何やってるんだろうとか。 decoratorとは decoratorってのは基本的には @dec def foo(): pass だったら def foo(): pass foo = dec(foo) しているだけだそうだから、要するにそ…

2.5系の最適化

そういえば以前にソースを読もうとして僕もこんがらかっていた部分、、、とか思い出した。 shou 2009/01/26 15:13 2.5.1でもCONSTになるけど、これはバックポートされたもんなんだろうか? この部分って、2.5だとcompile.cあたりでassemble()->makecode()->o…

Django1.0勉強方針

http://omake.accense.com/wiki/Kanpy200812 とりあえず、おやつの会での増田さん資料を見て戦略を立てよう。以下上記資料からの抜粋。 newform (form) form media MedelForm FormSet formtools New Admin modelAdmin admin.site Data Handling Unicode API …

pythonごはんの会

もつ鍋食べてきました。 ・・・じゃあなくて、いやそうかも。 増田さんに「Django1.0対応本ほしー」とダダをこねておきましたが、ネットに情報は十分転がっている訳だから本当なら自分で勉強すべき事。 今日からすこし1.0の勉強をしてみようとか思いました。…

梅.py

もつ鍋っ! もつ鍋もつ鍋っ!

おやつ会という名前の勉強会

というわけで今日は勉強会。会場に着いた。「標準Django」著者の増田さんの演題もあるみたいで楽しいお話聞けるかも。追記していくかも。 MonotaROを支えるPython 中西さんの発表 MonotaROとは? 物流通信販売, 事業者向け間接資材取り扱い(IHC サイトでホー…

勉強会だ

そうだ。明日勉強会じゃないのよ。すっかり忘れてた。 楽しみ。というか仕事やる気がしない。どうしよう。

3.0

移行していった方が良いんだろうか。 なんというか range = xrangeになったことくらいしかメリットを感じないんだけど・・・ #それすら別に〜な気もするし。 printの()強制は改悪のような気がする。僕はrubyに逃げてしまいそう。一貫性を持たせたいのはわか…

梅田 Python ごはん!

の会に行ってきますの予定。出し巻き食べに行きます! Python関西のみなあさま、よろしくねー http://sites.google.com/site/umedotpy/Home/dai-4kai--umeda--python-gohan-no-kai

梅pyごはん会

に行ってきました。あんまりPythonでも無かったんだけどだし巻きおいしかった(ぉ じゃなくって、なんだか今まで参加してきた勉強会系統とはちょっと雰囲気が違って、業界内部の生々しい息遣いが見えて面白かった。やはりCTOクラスになる人はスゴい。自分の…

tanimoto score

忘れないうちに。 Tanimotoさんがどんな人なのかはまだ調べてない。化学系の分子同定とかで分子fingerprintsの類似度として良くつかわれているみたい。 Wikipediaをみると http://en.wikipedia.org/wiki/Jaccard_index Jaccard indexのところに Tanimoto Coe…

関西のPythonコミュニティはいってみた。

昨日書いてたPython関西に入ってみた。入ってみただけなんだけど。。。id:kozo-niさんがいた!わあい。 お泊まり会があるらしい。行けたら行ってみたい。

関西のPythonコミュニティ

Ruby関西もkansai.pmもとっても元気だけど、そういえば関西の pythonのコミュニティってどうなってるんだろう? あんまり話聞かないような気もする。僕が知らないだけできっとあちこちで活動はあるんだろうなあ。良く知らないので・・・ と、探してみたら ht…

List Comprehension vs Append String

タイトル間違ってた。ものすごくは髄http://d.hatena.ne.jp/tkuro/20081107/1226053630タイトルで言うほど「竜虎相打つ」って感じではないんだけど一応恩返しにプロファイルとって見た。 from random import choice from itertools import repeat, chain, te…

文字列の文字の二度書き

8bitごとの1ch情報のバイナリファイル -> 1chの値を繰り返して2chファイル、に変更しようとする。unpack()でとって来てるので相手は文字列なんだけど途中の処理で1文字ずつのリストにしている。こういう処理なんて呼ぶんだろう。良い言葉がでてこないよ (名…

struct.* のフォーマット指定

ビックエンディアンが '!' だなんて、実は日本人?とかくだらないこと思った。 疲れてるのかな。

文字列をn文字ずつに分割する2

id:tkuro:20080716:1216192253のつづき、 わざわざ re を引っ張るような話ではないような。 ごもっとも・・・でした。。文字列スライスの事なぞ頭から飛んでた。唯一の救いはreの方が少し早い事くらい。 NO re版 def checksum_nore(buf): hex(sum([int(x+y,1…

分割するより走査

まぁ、そりゃそうだなとかおもったので、zip を使わないのも合わせて、timeit で Benchmarkとか なるほど、流石。と思ったけど、少しは返したいな、と def checksum_uplw(s): upper = sum([int(x,16) for x in s[0::2]]) lower = sum([int(x,16) for x in s[…

文字列をn文字ずつに分割する

hexファイルやmotファイルとかでチェックサムとる為に、16進文字列を2文字ずつに区切って加算するってやつ。 Perl perlなら listコンテキストに正規表現置いて quartz:pts/3% perl -E 'foreach $i (shift =~ /../g) { $sum += hex($i); } say sprintf "%x", …

Managerの条件指定

filter()とかのモデル検索メソッドの条件指定に使えるキーワード引数。 {model}__{fieldname}__{lookuptype}の引数に=で値を与える。例えば1000円未満のレシートならReciept.objects.filter(price__lt=1000)とか。ちょっとだけ変なんだけど、確かに文字列で…

Djangoいじりはじめ

いままでRailsとTurboGearsしか使ったことなかったんだけど、GoogleAppEngineの影響でDjango弄り始める。DRYがものすごく徹底されていて気分が良い。