参数未反映在Python函数调用中

参数未反映在Python函数调用中,python,django,Python,Django,我调用的类方法如下: soup = bs4.BeautifulSoup(self.req_proxy.generate_proxied_request(some_url).text, "html.parser", "United States") def generate_proxied_request(self, url, params={}, req_timeout=30, country=None): if country is not None: searche

我调用的类方法如下:

soup = bs4.BeautifulSoup(self.req_proxy.generate_proxied_request(some_url).text, "html.parser", "United States")
def generate_proxied_request(self, url, params={}, req_timeout=30, country=None):
    if country is not None:
        searched_proxies = []
        for proxy in self.proxy_list:
            if str(proxy[1]) == country:
                searched_proxies.append(proxy)
    else:
        searched_proxies = self.proxy_list
类方法的定义如下:

soup = bs4.BeautifulSoup(self.req_proxy.generate_proxied_request(some_url).text, "html.parser", "United States")
def generate_proxied_request(self, url, params={}, req_timeout=30, country=None):
    if country is not None:
        searched_proxies = []
        for proxy in self.proxy_list:
            if str(proxy[1]) == country:
                searched_proxies.append(proxy)
    else:
        searched_proxies = self.proxy_list
美国
是用来解析
国家
变量的,但它不是。调用该函数时,它接受值
None
。为什么
国家
没有反映
美国
的价值?

试试这个:

soup = bs4.BeautifulSoup(self.req_proxy.generate_proxied_request(some_url, country="United States").text, "html.parser")`
您正在将
“美国”
传递给
BeautifulSoup
构造函数,而不是传递给
生成代理请求的方法

以下是正确的:

soup = bs4.BeautifulSoup(self.req_proxy.generate_proxied_request(some_url, country="United States").text, "html.parser") 
BeautifulSoup
构造函数类似于:


因此,在当前表单中,您将
“美国”
赋值给
builder
参数。

您将
Unitet State
放在了错误的位置-现在它是
BeautifulSoup
的参数,您必须将其放在
(一些url,country='United State')