Python元组问题

Python元组问题,python,tuples,Python,Tuples,我是python新手,据我所知,我收到了这个元组错误: 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/

我是python新手,据我所知,我收到了这个元组错误:

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
?还是我把它初始化为一个空字典

编辑1:我尝试过修补元组和项目的东西,但没有任何运气,我的错误消息如下

Traceback (most recent call last):
  File "/home/cambria/Desktop/api/Main.py", line 10, in <module>
    main()
  File "/home/cambria/Desktop/api/Main.py", line 5, in main
    respons3 = api.get_summoner_by_name('hi im gosan')
  File "/home/cambria/Desktop/api/RiotAPI.py", line 33, in get_summoner_by_name
    return self._request(api_url)
  File "/home/cambria/Desktop/api/RiotAPI.py", line 23, in _request
    params=args
  File "/home/cambria/.local/lib/python2.7/site-packages/requests/api.py", line 69, in get
    return request('get', url, params=params, **kwargs)
  File "/home/cambria/.local/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/home/cambria/.local/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/cambria/.local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/home/cambria/.local/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))
>>>

您的代码要求
params
为dict
{}
(或具有
.items
方法)。您传递了一个元组
()
。两者并不等同

默认情况下,将
params
设置为
None
,并在需要时传递a

def _request(self, api_url, params=None):
    params = params if params is not None else {}
    ...
或者期望一个元组列表,而不是一个dict

def _request(self, api_url, params=()):
    for key, value in params:
    ...
元组
()
没有名为
items
的方法。你可能把它错当成字典了。按如下方式更改您的代码:

def _request(self, api_url, params=None):
    if params is None:
        params = {}
    ...

您好,很抱歉回复太晚,昨晚发了这么晚。我试图修改你的答案,但我运气不好,收到了一条巨大的错误消息,我将在我的操作编辑1中发布。既然没有方法,你会删除.items()吗?但是当我这样做的时候,我只是得到了我在OP中列出的这个请求错误
def _request(self, api_url, params=()):
    for key, value in params:
    ...
def _request(self, api_url, params=None):
    if params is None:
        params = {}
    ...