【问题标题】:python function call syntax ... result = foo() ['abc']python 函数调用语法 ... result = foo() ['abc']
【发布时间】:2010-11-22 22:45:01
【问题描述】:
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')

【问题讨论】:

  • 您不需要像以前那样标记代码段。只需缩进 4 个空格。

标签: python syntax


【解决方案1】:

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

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

【讨论】:

  • 非常感谢,这个语法记录在哪里
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        使用这种语法,您会得到字典 - 由 readPhoneState() 返回 - 与键 'result' 相关联,并要求它提供键为 'incomingNumber' 的值。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-11-09
          • 2016-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-06
          • 1970-01-01
          相关资源
          最近更新 更多