真 もわ爛漫

しゃーら、しゃーらしゃーら

文字列例外 @ Python

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完全準拠とか冒頭に書いてあるんだけどなぁ