我们有一个函数 test
,它是这样的:
def test(tag): if isinstance(tag, list) or isinstance(tag, str): print('输入参数合法,进行后续操作')
这样写虽然有效,但是用 or
连接两个 isinstance
看起来不太清爽。
实际上,Python可以这样写:
def test(tag): if isinstance(tag, (list, str)): print('输入参数合法,进行后续操作')
在Python交互环境中输入:
help(isinstance)
可以看到如下的使用说明:
isinstance(obj, class_or_tuple, /) Return whether an object is an instance of a class or of a subclass thereof.
A tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to check against. This is equivalent to ``isinstance(x, A) or isinstance(x, B) or ...`` etc.
说明我们的另一种写法是合理的。