让我说我对象x。 我想检查x是否属于我支持的类型(让我们说它的列表,集合,字符串和无。并且没有从它们继承的类型),所以我想我只是检查
type(x) in (list, set, str, NoneType)
但是,NoneType不可参考。 有一个干净的解决方案,还是我必须做这样的事情?
x is None or type(x) in (list, set, str)
是否有标准方法可以访问<type 'NoneType'>
?
感谢。
答案 0 :(得分:3)
type(None)
怎么样?只是做:
type(x) in (list, set, str, type(None))
似乎对我有用,至少对我来说很清楚。由于NoneType
只有一个值,因此将其用作文字几乎不是“神奇”。
答案 1 :(得分:2)
如果您想在不致电type()
的情况下访问它,您可以随时引用其__class__
,即
type(x) in (list, set, str, None.__class__)