引数が整数であることを確認するのに、こんなコードをよく書いてるんだけど if type(arg) not in (int, long): raise InvalidArgumentError ちょっと冗長じゃないかな。先日は (int, tuple) とか書いてて危ない思いをしたりも。。 どうにかならんものかとつぶやくと、 if not isinstance(arg, (int, long)): って教えてもらった。isinstanceでタプル渡せるの知らなかった。(2.2 or later) なんだが、単語数は減ったけど文字数が減ってない。 あと、bookはintのサブクラスなため、isinstance([bool instance], int) は True となるけど、素直に文字列変換すると (True|False) の文字列になる点が要注意。 >>> arg = True >>>