import sys a = "a" b = "a" print (a == b, a is b) try: raise a except b: print sys.exc_info()
「文字列例外はdeprecatedなんだわはー」とか出るのは2.5系からかしら。知らないけど。
(True, True) ('a', None,)
眠い。後はスーパーな人に任せた。
ちなみに手元の『初めてのPython 第2版』見ながら調べてたんだが、"(a == b, a is b)" の戻り値が "(1, 0)" とか書いてあって何か希望を失った。
2.2 では"(1, 1)", 2.3以降では"(True, True)"と返ってくるっぽい。この本は2.2完全準拠とか冒頭に書いてあるんだけどなぁ