matrk's blog

十中八九Python書いてる

python

seccon warsのライトアップ(?)

私の所属するサークルがSECCON2015 Onlineなんちゃらに参加している最中私はマイクラやってました。 今朝7時くらいになってから参加して1問解いて寝て起きたら予選終わってたので解けた1問についてライトアップ(っていうんですかね)します。

zip

zipをfor文でジェネレータ回してたらちょっと引っかかるところがあったのでメモ。以下はpython2.7.5でのログです。 >>> def gen(num): ... for i in range(num): ... yield i ... >>> itr = gen(10) >>> for t, s in zip(itr, ('a', 'b')): ... print(t, s) …

Pythonでメモ化するデコレータ

昨日のやつ使ってメモ化デコレータ書きました。まずはブツを。 matsub/sandbox/memoize.py - github

デフォルト値にミュータブルを設定するとキャッシュされる話

Pythonのドキュメンテーション "プログラミングFAQ" にある、 "なぜオブジェクト間でデフォルト値が共有されるのですか?" について、ちょっと読むだけだと分かりづらいところがあったので、挙動を確認してみました ちなみにこの質問はPython2.7 / 3.4以降の…

インタラクティブモードのログとdoctest

Pythonのインタラクティブでごにょごにょしてから^Dで抜けると~/.python_historyにログ(コマンドのみ)が残ります。doctestの為にログが必要なのにうっかり流れてしまった、みたいなときに役立つかもしれません。私はまだ役立てられた事無いです。下記参照…

ネストされた関数をmultiprocessingする

関数fの中に関数gをネストし、fの中でgをmultiprocessingで呼びたい。 だけど、ネストした関数gはクロージャなので外側からは呼べず、すなわちmultiprocessingはgを参照できません。具体的に言うと、<function f.<locals>.g at ...>なんかを参照したがると思います。</function>

pythonでgcdあそび

Markdown使うの初めてだから緊張するわうふふ。 pythonでgcd書くっていうのちらっと見たら遊びたくなった。