在函数中输入的值由默认值更改

时间:2016-07-16 21:36:07

标签: python python-3.x

所以我创建了这个函数:

def bs_obj(url, lan="html.parser"):
    try:
        html = urlopen(url)
        bsObj = BeautifulSoup(html, lan)
        print(lan)
        return bsObj
    except HTTPError as e:
        print(e)

现在,如果我使用下一个代码object = bs_obj(html, "lxml")调用该函数,控制台将打印html.parser。如果代码为object = bs_obj(html, lan="lxml"),则同样如此。发生了什么事?

编辑:(已解决)我很惭愧。我在我用作示例的代码行之前调用bs_obj(html)一些行。

1 个答案:

答案 0 :(得分:1)

我相信你运行的是错误的文件。以供参考。

def bs_obj(lan="html.parser"):
    print(lan)

if __name__ == "__main__":
    bs_obj()
    bs_obj("lxml")
    bs_obj(lan='html5.parser')

正确输出

html.parser
lxml
html5.parser
相关问题