number = droid.readPhoneState()['result']['incomingNumber']
Что такое «результат» и «входящий номер» в этом синтаксисе - не являются ли они параметрами?
Как они связаны с функцией readPhoneState?
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')
droid.readPhoneState() возвращает диктант. Эквивалентный код:
droid.readPhoneState()
outerDict = droid.readPhoneState() innerDict = outerDict['result'] number = innerDict['incomingNumber']
result и incomingNumber являются ключами к словарю или экземпляру класса, который реализует метод __getitem__. Это означает, что readPhoneState() возвращает объект словаря, который должен иметь ключ result, а соответствующее значение является объектом словаря, который должен иметь ключ incomingNumber.
result
incomingNumber
__getitem__
readPhoneState()
readPhoneState () - метод, который возвращает объект словаря.
Объект словаря содержит свойство result, которое также является объектом словаря, содержащим свойство incomingNumber
интерпретация состоит в том, что droid.readPhoneState() возвращает dict, значение которого, соответствующее ключу 'result', является другим dict.
dict
'result'
Предположительно, readPhoneState () возвращает словарь, значения которого, опять же, словари.
С этим синтаксисом вы получаете словарь, возвращаемый readPhoneState (), связанный с ключом «result» и запрашиваетзначение, ключ которого - «входящий».