Python如何确定变量是否为特定类?
我正在用python3写一个脚本。我有一个名为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'> 或 我也尝试过使用这些,但没
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!')