如何测试对象是否是锁?
How to test if an object is a lock?
您将如何测试一个对象是 threading.Lock
还是 multiprocessing.Lock
(以及它们各自的 RLock
?)。 Python 中的这些对象(至少 3 个)是工厂方法,所以你不能只做:
isinstance(obj, threading.Lock)
因为这会给出:
TypeError: isinstance() arg 2 must be a type or tuple of types
如果你有一个实例,你可以得到它的类型。所以简单的解决方案是做
threading_Lock = type(threading.Lock())
isinstance(obj, threading_Lock)
简单方法:
isinstance(obj, type(threading.Lock()))
您将如何测试一个对象是 threading.Lock
还是 multiprocessing.Lock
(以及它们各自的 RLock
?)。 Python 中的这些对象(至少 3 个)是工厂方法,所以你不能只做:
isinstance(obj, threading.Lock)
因为这会给出:
TypeError: isinstance() arg 2 must be a type or tuple of types
如果你有一个实例,你可以得到它的类型。所以简单的解决方案是做
threading_Lock = type(threading.Lock())
isinstance(obj, threading_Lock)
简单方法:
isinstance(obj, type(threading.Lock()))