选项1:
def f1(c):
d = {
"USA": "N.Y.",
"China": "Shanghai"
}
if c in d:
return d[c]
return "N/A"
选项2:
def f2(c):
d = {
"USA": "N.Y.",
"China": "Shanghai"
}
try:
return d[c]
except:
return "N/A"
这样我就可以调用:
for c in ("China", "Japan"):
for f in (f1, f2):
print "%s => %s" % (c, f(c))
选项是事先确定键是否在目录中(f1),或者只是回退到异常(f2)。哪个更好?为什么?