Python类属性

时间:2017-08-19 19:19:58

标签: python beautifulsoup

我是python的新手,来自强类型语言背景,所以当我没有在最后一行(使用Beautiful Soup标记解析)时没有收到任何类型的语法错误时,我感到非常沮丧:

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = input("Enter URL:")
html = urlopen(url, context=ctx).read()

soup = BeautifulSoup(html, 'html.parser')
print(soup.asdmsakdaskmdkvnqienwekmfsd)

它只是返回None,因为文档中没有这样的标记 它将以每个变量名称的方式工作。当代码试图访问未在类中定义的属性时,为什么不会出现错误? 是个 。运营商在某种程度上重新定义了吗?

1 个答案:

答案 0 :(得分:3)

,Python是一种带有overloading的动态语言。这包括属性查找,正如评论者已经说过的那样,这意味着很难(有时候不可能)告诉编译'时间是否存在给定属性。在BeautifulSoup的情况下,动态查找任何字符串似乎是一个有意的功能。

其次,这不是语法错误。最多,它是一个会导致运行时异常的错误(AttributeError)。