python:检查变量是否已定义并返回其值或返回其他值

时间:2010-12-23 06:33:30

标签: python exists

我正在尝试使用此代码

result = arr['key1'] or arr['key2'] or arr['key3']

说明: 我希望从或者dict键得到结果值。键的可用性取决于环境。这不是关于..只能定义一个arr键...

是否有像is_defined()

这样的函数或方法

我们如何在python中执行此操作?

更新

我这里遇到了一个新问题.. 代码1:

try:
   urlParams += "%s=%s&"%(val['name'], data.get(val['name'], serverInfo_D.get(val['name'])))
except KeyError:
   print "expected parameter not provided - "+val["name"]+" is missing"
   exit(0)

代码2:

try:
   urlParams += "%s=%s&"%(val['name'], data.get(val['name'], serverInfo_D[val['name']]))
except KeyError:
   print "expected parameter not provided - "+val["name"]+" is missing"
   exit(0)

在serverInfo_D [val ['name']]&中看到差异。 serverInfo_D.get(VAL [ '名称']) 代码2失败但代码1工作

数据

serverInfo_D:{'user': 'usr', 'pass': 'pass'} 
data: {'par1': 9995, 'extraparam1': 22}
val: {'par1','user','pass','extraparam1'}
对于数据dict ..以及for循环中迭代val

的所有代码都引发了异常

1 个答案:

答案 0 :(得分:7)

result = arr.get('key1', arr.get('key2', arr.get('key3')))