Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Python BeautifulSoup对象是可调用的?定义在哪里?_Python_Beautifulsoup_Callable - Fatal编程技术网

为什么Python BeautifulSoup对象是可调用的?定义在哪里?

为什么Python BeautifulSoup对象是可调用的?定义在哪里?,python,beautifulsoup,callable,Python,Beautifulsoup,Callable,以下代码中的bb和cc是相等的,为什么会出现这种情况?soup是一个对象,为什么它可以在这里接受另一个参数“a”?这里的soup('a')是函数调用还是另一个类/对象初始化?如果是函数调用,我在类中找不到调用定义。我希望问题是清楚的。谢谢 from bs4 import BeautifulSoup soup = BeautifulSoup("<html><a href='bla'>sss</a><a>cc</a></html>

以下代码中的bb和cc是相等的,为什么会出现这种情况?soup是一个对象,为什么它可以在这里接受另一个参数“a”?这里的soup('a')是函数调用还是另一个类/对象初始化?如果是函数调用,我在类中找不到调用定义。我希望问题是清楚的。谢谢

from bs4 import BeautifulSoup
soup = BeautifulSoup("<html><a href='bla'>sss</a><a>cc</a></html>", 'html.parser')
bb = soup('a')
cc = soup.find_all('a')
从bs4导入美化组
soup=BeautifulSoup(“cc”,“html.parser”)
bb=汤('a')
cc=汤。查找所有('a')

实际上没有什么区别,调用
标记是
的别名

检查

def\uuu调用(self,*args,**kwargs):
“”“像调用函数一样调用标记与调用其
find_all()方法。例如,tag('a')返回所有a标记的列表
在此标记中找到“”
返回self.find_all(*args,**kwargs)

几乎所有
开发人员
都使用
findAll
的原因是它实际上更具可读性

嗯,实际上没有区别,调用
标记
别名
用于
findAll

检查

def\uuu调用(self,*args,**kwargs):
“”“像调用函数一样调用标记与调用其
find_all()方法。例如,tag('a')返回所有a标记的列表
在此标记中找到“”
返回self.find_all(*args,**kwargs)

几乎所有
开发人员
都使用
findAll
的原因是它实际上更具可读性

在实践中,我们应该总是更喜欢汤('a')而不是汤。如果它们给出相同的结果,我们应该总是更喜欢汤('a')而不是汤。如果它们给出相同的结果,我们应该总是更喜欢汤('a')。非常感谢,没有意识到调用可以在标记类下定义,认为它必须在BeautifulSoup init下。非常感谢,未实现的调用可以在标记类下定义,认为它必须在BeautifulSoup init下。