2008-09-03から1日間の記事一覧

Google Chrome

もちろんみんな試してるだろうけど、私も試した。今もGoogle Chrome上で書いてる。 Firefoxからブックマークを移すのが面倒だから試すだけのつもりだったら、ちゃんとインストール時にインポートしてくれたから今晩はずっとこれで。とはいえアドオンの関係で…

リストの内包表記の続き あとジェネレータ式

昨日は忘れてたけど、 [ (x, y) for x in (1, 2, 3) for y in (2, 3, 4) if y % 2 == 0 ] みたいにforをいくつも続けて2重3重x重ループにしたり、ifで絞り込んだりもできる。 上のは[(1, 2), (1, 4), (2, 2), (2, 4), (3, 2), (3, 4)]になる。 あとこれを丸…

三項演算子

三項演算子はないけど、 a = 'a' if 条件 else 'b' Python2.5からはifで似たようなことができるようになった。 後置のifじゃなくあくまで三項演算子のように使うので、elseは必須でifの左とelseの右に値がないと駄目。 でも、 import sys sys.stdout.write('…

ジェネレータ

何か作るんだろうなという漠然とした名前だけど、作るのはただのイテレータみたいなもの。 Rubyのイテレータはyieldが呼ばれると渡されたブロックを実行するけど、Pythonのジェネレータはyieldが呼ばれるとそこでジェネレータ側の処理を中断し、値を伴って呼…

単項演算子もオーバーロードできるようだ あと演算子扱いじゃないけどオーバーロードできるもの

昨日は単項演算子はできないと思っていたけど単に『初めてのPython』の表に載っていないだけだった。 実際は+と-と~とabs()ができる。abs()は関数な気もするけど+や-と似たようなものだからいいか。 それでもnotはやっぱりオーバーロードできなさそう。これ…