【发布时间】:2017-11-23 18:34:47
【问题描述】:
我试图理解为什么在我的示例中将 params 传递给 session.get 会引发 TypeError。
response_get 返回 200 响应,而 response_open 引发 TypeError。
import requests
class Foo:
def __init__(self):
self.session = requests.Session()
def get(self, url, params=None):
"""Return a Response object."""
return requests.get(url, params)
def open(self, url, params=None):
"""Return a Response object using the Session object."""
return self.session.get(url, params)
if __name__ == '__main__':
foo = Foo()
response_get = foo.get('https://estilen.github.io')
response_open = foo.open('https://estilen.github.io')
错误:
Traceback (most recent call last):
File "/home/estilen/Dropbox/Python/leapy/foo.py", line 21, in <module>
response_open = foo.open('https://estilen.github.io')
File "/home/estilen/Dropbox/Python/leapy/foo.py", line 15, in open
return self.session.get(url, params)
TypeError: get() takes 2 positional arguments but 3 were given
【问题讨论】:
-
从
self.session.get中取出params参数,就可以了…… -
@whackamadoodle3000 这违背了我的问题的目的。 :P
标签: python python-3.x python-requests