Python如何确定变量是否为特定类?

Python如何确定变量是否为特定类?,python,class,python-3.x,python-3.4,Python,Class,Python 3.x,Python 3.4,我正在用python3写一个脚本。我有一个名为r的变量,我的代码如下: if type(r) == 'twx.botapi.botapi.Error': print('Error!') else: print('success!') 当我使用类型(r)时,我得到以下信息: <class 'twx.botapi.botapi.Error'> or <class 'twx.botapi.botapi.Message'> 或 我也尝试过使用这些,但没

我正在用python3写一个脚本。我有一个名为
r
的变量,我的代码如下:

if type(r) == 'twx.botapi.botapi.Error':
     print('Error!')
else:
     print('success!')
当我使用
类型(r)
时,我得到以下信息:

<class 'twx.botapi.botapi.Error'>
or
<class 'twx.botapi.botapi.Message'>
我也尝试过使用这些,但没有得到答案:

if type(r) == <class 'twx.botapi.botapi.Error'>:
     print('Error!')
else:
     print('success!')
如果类型(r)=
打印('错误!')
其他:
打印('success!')

如何确定类类型是一种错误还是消息

取决于变量是指向类的实例还是您可以使用的类对象本身,或者,例如


这两个函数都接受第二个参数的对象元组。

像一个符咒一样工作,
isinstance
issubclass
都可以工作,但是除了导入
twx,botapi.botapi
?@Ali SH:如果有实例,您可以这样做:
实例.\uuuuu类\uuuuu名\uuuuu
实例.\uuuuu类\uuuuu名\uuuu比iInstance或issubclass工作得更好。感谢您的帮助和支持。@AliSH使用
实例.\uuuuuuuu类\uuuu名\uuuu
没有什么比这更好的了。在你的情况下,这可能更方便,但它会导致黑暗面;)顺便说一句,我猜
r
是某个函数的返回值,对吗?如果是这样,为什么不返回
消息
实例并引发
错误
实例而不是所有这些?
from twx.botapi.botapi import Error, Message

if issubclass(r, Error):
    print('Error!')
else:
    print('success!')