2015-06-21 134 views
2

我正在使用geopy,並對錯誤出現的原因提出問題。呼叫班級

此代碼示例來自github提供的代碼示例。它的工作原理如上所述

from geopy.geocoders import Nominatim 

geolocator = Nominatim() 

location = geo.geocode("NY") 

print((location.latitude, location.longitude)) 

下面的代碼如何提供錯誤?它背後的原因是什麼?

from geopy.geocoders import Nominatim as geo 

location = geo.geocode("NY") 

print((location.latitude, location.longitude)) 

第二代碼提供的錯誤是:

Traceback (most recent call last): 
    File "C:/Users/Leb/Desktop/Python/so2.py", line 5, in <module> 
    location = geo.geocode("NY") 
TypeError: geocode() missing 1 required positional argument: 'query' 
+0

我覺得這個【答案】(HTTP://計算器.com/a/17534363/3337714)可能會解決您的查詢。 – user3337714

+1

在你創建對象提名的第一個代碼示例中,然後在第二個示例中你不這樣做,所以它期待你的'self'和我相信的一些字符串的兩個參數。而你只傳遞一個。 – ThePavolC

+0

謝謝,這很好地解釋了原因。 – Leb

回答

1

您需要實例類(創建對象)

from geopy.geocoders import Nominatim as geo 

location = geo().geocode("NY") 

print((location.latitude, location.longitude)) 
+0

@ ThePavolIC你剛剛從評論中複製了SukritKalra答案嗎?有趣! – user3337714

+0

不是,你已經發布了一個鏈接來回答。我想我已經給出了答案。但是我在寫評論時沒有刷新頁面,所以我沒有看到其他帖子 – ThePavolC

+0

這意味着問題是重複的,它已經有了答案。你正在提供重複的解決方案,而不是重新指導? – user3337714