检查变量是否是几种类型?(str或list)

Che*_*ese 1 python types if-statement boolean

我知道如果我想检查例如变量x是否是我将要做的str

if type(x) is str:
Run Code Online (Sandbox Code Playgroud)

但是如何检查x是字符串还是列表?所以我可以这样做,而无需添加另一个if分支

if type(x) is (str, list):
     pass
else:
     raise SomeError
Run Code Online (Sandbox Code Playgroud)

Nik*_*s R 5

type(x) in (str, list)
Run Code Online (Sandbox Code Playgroud)

要么

isinstance(x, (str, list))
Run Code Online (Sandbox Code Playgroud)

这两者在语义上不相同.阅读isinstance()文档中的功能.