SyntaxError:位置参数紧跟关键字参数

时间:2018-09-19 21:05:47

标签: python python-3.6

我在Jupyter Notebook中运行以下代码:

from pygeocoder import Geocoder
result = Geocoder.geocode(api_key = "AIzaSyCQtCdmnvV9ilT-fVgloW8W5bBSIoQbdUI", "551 Alvarado St, San Francisco, CA 94114, USA")
print(result)

但是我得到了这个错误:

SyntaxError: positional argument follows keyword argument

您能帮我吗?

2 个答案:

答案 0 :(得分:1)

此错误的确切含义是:关键字参数(api_key)在位置参数(地址)之前。

要解决此错误,只需翻转参数即可。应该是result = Geocoder.geocode("551 Alvarado St, San Francisco, CA 94114, USA",api_key = "AIzaSyCQtCdmnvV9ilT-fVgloW8W5bBSIoQbdUI")

但是,函数geocode不接受api_key参数。进入Geocoder构造函数。

您需要使用api_key实例化一个Geocoder对象。

my_geocoder=Geocoder(api_key = "AIzaSyCQtCdmnvV9ilT-fVgloW8W5bBSIoQbdUI")

然后,使用该地理编码器的geocode函数。

result=my_geocoder.geocode("551 Alvarado St, San Francisco, CA 94114, USA")

答案 1 :(得分:0)

通过浏览文档(https://bitbucket.org/xster/pygeocoder/wiki/Home),您似乎正在尝试将public void load_bts() { class Boton implements Serializable { public Button bt; public String path; public String fname; } Button bt = new Button(this); Boton cbt = new Boton(); cbt.bt = bt; cbt.path = "QUESO"; cbt.fname = ""; Gson gson = new Gson(); String json = gson.toJson(cbt); } 关键字参数放在错误的位置。试试这个:

api_key

(作为附带的问题,我建议在公共论坛上发布您的API密钥不是一个好主意。考虑到要更改它/获取一个新的密钥,如果那是您的真实想法。)