python函数调用语法... result = foo()['abc']

时间:2010-11-22 14:38:24

标签: python syntax

number = droid.readPhoneState()['result']['incomingNumber']

此语法中的'result'和'incomingNumber'是什么 - 它们不是参数吗?

它们如何与函数readPhoneState相关?

import android

droid = android.Android()
droid.startTrackingPhoneState()

number = droid.readPhoneState()['result']['incomingNumber']

if number != None:
  droid.speak('Call from '+str(number))
else:
  droid.makeToast('No incoming call')

5 个答案:

答案 0 :(得分:9)

droid.readPhoneState()返回一个dicts的字典。等效代码:

outerDict = droid.readPhoneState()
innerDict = outerDict['result']
number = innerDict['incomingNumber']

答案 1 :(得分:2)

resultincomingNumber是字典或实现方法__getitem__的类实例的键。这意味着readPhoneState()返回一个字典对象,它应该有一个键result,相应的值是一个字典对象,它应该有一个键incomingNumber

答案 2 :(得分:1)

解释是droid.readPhoneState()返回dict,其对应于键'result'的值是另一个dict

答案 3 :(得分:1)

readPhoneState()是方法,它返回一个字典对象。

字典对象包含属性result,它也是包含属性incomingNumber

的字典对象

答案 4 :(得分:0)

据说,readPhoneState()返回一个字典,其中值也是字典。

使用此语法,您将获得由readPhoneState()返回的字典 - 与键'result'关联,并询问其键为'incomingNumber'的值。