【问题标题】:what is the type of the variable变量的类型是什么
【发布时间】:2011-03-07 19:40:21
【问题描述】:

我是 Python 的新手,我有以下代码:

from SOAPpy import WSDL

fichier_wsdl = 'http://geocoder.us/dist/eg/clients/GeoCoder.wsdl'
wsdl = WSDL.Proxy(fichier_wsdl)
callInfo = wsdl.methods['geocode']
ss = wsdl.geocode('1600 Pennsylvania Ave, Washington, DC.')
print(ss)

结果是:

IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import
<<class 'SOAPpy.Types.typedArrayType'> results at 21824752>: [<SOAPpy.Types.structType item at 21818984>: {'city': 'Washington', 'prefix': '', 'suffix': 'NW', 'zip': 20502, 'number': 1600, 'long': -77.037684, 'state': 'DC', 'street': 'Pennsylvania', 'lat': 38.898748, 'type': 'Ave'}]

我尝试了解我的 ss 变量的类型(print(type(ss)) 得到 SOAPpy.Types.typedArrayType,这对我来说不是很清楚)? 以及如何为城市或街道创建一个简单的变量?

【问题讨论】:

    标签: python soappy


    【解决方案1】:

    你可以做type(variable name)

    【讨论】:

    • 是的......所以我的问题不是很清楚。答案是:'SOAPpy.Types.typedArrayType' 我不知道怎么用(我把我的问题改得更清楚了)
    • 对于未来的答案,您无需添加签名行。你的名字已经附在帖子里了:)
    【解决方案2】:

    让我们重新格式化该输出以提高可读性:

    <<class 'SOAPpy.Types.typedArrayType'> results at 21824752>:
    
    [<SOAPpy.Types.structType item at 21818984>:
         {'city': 'Washington', 'prefix': '', 'suffix': 'NW', 'zip': 20502, 'number': 1600,
          'long': -77.037684, 'state': 'DC', 'street': 'Pennsylvania', 'lat': 38.898748,
          'type': 'Ave'
         }
     ]
    

    它告诉你你的变量是什么类型:SOAPpy.Types.typedArrayType ...尝试阅读 SOAPpy 文档以了解这一点(我不是 SOAPpy 用户,甚至不是新手)。

    您真正想知道的是如何使用该结果。在我看来,如果你这样做 answer_dict = ss[0],你可以访问这样的字段:

    print answer_dict['city'] 应该产生Washington

    这样你就可以了

    city = answer_dict['city']
    street = answer_dict['street']
    # et cetera
    

    请注意,带有花哨类型的 ss 看起来就像一个列表...如果您的查询有多个答案(检查 len(ss)),您将需要遍历列表:

    for answer_dict in ss:
        process_each_answer(answer_dict) # substitute your code here
    

    【讨论】:

      最近更新 更多