какой стиль предпочтен?

Выбор 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). Какой предпочтен? Почему?

9
задан Gabriel Hurley 22 January 2010 в 02:35
поделиться