Python函数调用语法... 结果 = foo() ['abc']
number = droid.readPhoneState()['result']['incomingNumber']
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')
在这个语法中,'result'和'incomingNumber'是什么?它们不是参数吗?
它们和函数 readPhoneState
有什么关系呢?
5 个回答
1
readPhoneState() 是一个方法,它会返回一个字典对象。
这个字典对象里面有一个属性 result
,而这个 result
也是一个字典对象,它里面有一个属性 incomingNumber
。
2
result
和 incomingNumber
是一个字典的键,或者是一个实现了 __getitem__
方法的类的实例。这意味着 readPhoneState()
返回的是一个字典对象,这个字典应该有一个键叫 result
,而这个键对应的值又是一个字典对象,这个字典里应该有一个键叫 incomingNumber
。
9
droid.readPhoneState()
这个函数会返回一个字典,里面又包含了其他字典。可以用下面的代码来实现同样的功能:
outerDict = droid.readPhoneState()
innerDict = outerDict['result']
number = innerDict['incomingNumber']