我不知道的基本python语法';我不太明白
我一直在犯这个错误,但我不知道为什么我不知道的基本python语法';我不太明白,python,api,syntax,Python,Api,Syntax,我一直在犯这个错误,但我不知道为什么 Traceback (most recent call last): File "/home/cambria/Main.py", line 1, in <module> from RiotAPI import RiotAPI File "/home/cambria/RiotAPI.py", line 6 def __init__(self, api_key, region=Consts.REGIONS['north_ame
Traceback (most recent call last):
File "/home/cambria/Main.py", line 1, in <module>
from RiotAPI import RiotAPI
File "/home/cambria/RiotAPI.py", line 6
def __init__(self, api_key, region=Consts.REGIONS['north_america'])
^
SyntaxError: invalid syntax
编辑1:如果我在def\uuuu init\uuuuuu(self,api\u key,region=Consts.REGIONS['north\u america'])的末尾添加一个:
,为什么?在做了这些之后,我得到了一个新的语法错误,我将在一些明智的事情之后解决它
编辑2:修复第一个is后出现新语法错误
Traceback (most recent call last):
File "/home/cambria/Main.py", line 1, in <module>
from RiotAPI import RiotAPI
File "/home/cambria/RiotAPI.py", line 11
args = ('api_key': self.api_key)
^
SyntaxError: invalid syntax
编辑3:这应该是最后一个。。没有更多的语法,只是一个
Traceback (most recent call last):
File "/home/cambria/Main.py", line 10, in <module>
main()
File "/home/cambria/Main.py", line 5, in main
respons3 = api.get_summoner_by_name('hi im gosan')
File "/home/cambria/RiotAPI.py", line 31, in get_summoner_by_name
return self._request(api_url)
File "/home/cambria/RiotAPI.py", line 12, in _request
for key, value in params.items():
AttributeError: 'tuple' object has no attribute 'items'
这是我收到的唯一一个我真的不太了解的错误。这是因为我的参数上没有.items
?或者我把它初始化为一个空字典?问题在于你在这行的末尾缺少了一个:
def __init__(self, api_key, region=Consts.REGIONS['north_america']):
self.api_key = api_key
self.region = region
您忘记了一个:
:
class RiotAPI(object):
def __init__(self, api_key, region=Consts.REGIONS['north_america']): # <HERE
self.api_key = api_key
self.region = region
class RiotAPI(对象):
def uu init uu(self,api_key,region=Consts.REGIONS['north_america']):#新的语法错误是什么?感谢帮助@jamesandriese我更新了编辑2中的问题。“:”是用来结束语句还是用它所引用的代码来“阻止”语句?非常抱歉我的格式:(英语是第二语言,也是第一次出现在这里!感谢您理解您的编辑2,您正试图用()
而不是{}
创建一个字典。啊,我明白了,我已经将它们改为{}这很好,但是我现在在某个地方收到一个元组错误,我没有索引。。
def _request(self, api_url, params=()):
args = {'api_key': self.api_key}
for key, value in params.items():
if key not in args:
args[key] = value
response = requests.get(
Consts.URL['base'].format(
proxy=self.region,
region=self.region,
url=api_url
),
params=args
)
print response.url
return response.json()
def __init__(self, api_key, region=Consts.REGIONS['north_america']):
self.api_key = api_key
self.region = region
class RiotAPI(object):
def __init__(self, api_key, region=Consts.REGIONS['north_america']): # <HERE
self.api_key = api_key
self.region = region