use isinstance()无法检查python对象类导入其他模块
模块中的A类use isinstance()无法检查python对象类导入其他模块,python,classname,isinstance,Python,Classname,Isinstance,模块中的A类m1 在模块m2中,我想使用isinstance()检查对象obj1是否为类A 和obj1=A() 但是isinstance(obj1,A)是False…type(obj1)= 我不明白为什么?“帮助我”您需要显式导入要检查的类 例如 从bs4导入美化组 ... 打印(类型(td))-->输出{type}= 如果isinstance(td,Tag):-->{NameError}未定义名称“Tag” 所以你需要导入标签 从bs4.1元素导入标记 这个问题需要清理(我不是100%理解你的
m1
在模块m2
中,我想使用isinstance()
检查对象obj1
是否为类A
和obj1=A()
但是isinstance(obj1,A)
是False
…type(obj1)=
我不明白为什么?“帮助我”您需要显式导入要检查的类
例如
从bs4导入美化组
...
打印(类型(td))-->输出{type}=
如果isinstance(td,Tag):-->{NameError}未定义名称“Tag”
所以你需要导入标签
从bs4.1元素导入标记
这个问题需要清理(我不是100%理解你的问题),但是如果我理解正确,你创建了一个类a
的实例,但是用isinstance
测试它时说它不是a
的实例?我建议提供真实的代码,但这个问题的一个常见原因是,如果您在交互式解释器中工作,并且重复定义a
和重新加载相关模块。创建实例时,它将基于当前加载的A
定义,但重新加载模块将创建一个新的A
无关定义。从m1导入模块m2中的如何?谢谢您–ShadowRanger–Kota Mori
class A:
somemethod
from bs4 import BeautifulSoup
...
print(type(td)) --> outputs {type} = <class 'bs4.element.Tag'>
if isinstance(td, Tag): --> {NameError}name 'Tag' is not defined
so you need to import Tag
from bs4.element import Tag