我在 Google Map API 网站上查看此代码:
import simplejson, urllib
GEOCODE_BASE_URL = 'http://maps.googleapis.com/maps/api/geocode/json'
def geocode(address,sensor, **geo_args):
geo_args.update({
'address': address,
'sensor': sensor
})
url = GEOCODE_BASE_URL + '?' + urllib.urlencode(geo_args)
result = simplejson.load(urllib.urlopen(url))
print simplejson.dumps([s['formatted_address'] for s in result['results']], indent=2)
if __name__ == '__main__':
geocode(address="San+Francisco",sensor="false")
我注意到在 geocode 函数中,当我们实际应用该函数时,我们在调用该函数时不使用 geo_args 字典,而是使用它来初始化我们在下一行中更新的字典。与在函数本身中初始化字典相比,使用它有什么好处?它使代码不太清楚,所以我认为这样做是有原因的。