matrk's blog

十中八九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)
...
(0, 'a')
(1, 'b')
>>> next(itr)
3
>>> t
1

なんか2が消えました

続きを読む

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

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

 ちなみにこの質問はPython2.7 / 3.4以降のドキュメンテーションでないと投稿されておらず、かつこの質問の原文へのリンクを踏むと何故か3.3の原文に飛ばされますので、URLの3.3を3とか3.4とかにすると原文読めます。

続きを読む