Bạn đã khá gần với tiêu đề câu hỏi của bạn rồi. Bạn có thể sử dụng any
và một danh sách:
var = 7.0
var_is_good = any([isinstance(var, classinfo1),
isinstance(var, classinfo2),
isinstance(var, classinfo3), ...
isinstance(var, classinfoN)])
Nhưng nhìn vào tài liệu isinstance
tiết lộ:
Trả về true nếu đối số đối tượng là một thể hiện của đối số classinfo hoặc của một lớp con (trực tiếp, gián tiếp hoặc ảo) của chúng. Nếu đối tượng không phải là đối tượng của kiểu đã cho, hàm luôn trả về giá trị false. Nếu classinfo không phải là một lớp (đối tượng kiểu), nó có thể là một bộ nhiều đối tượng kiểu hoặc có thể chứa đệ quy các bộ khác như vậy (các kiểu trình tự khác không được chấp nhận). Nếu classinfo không phải là một kiểu hoặc nhiều kiểu và các bộ như vậy, thì một ngoại lệ TypeError sẽ được đưa ra.
Điều này có nghĩa là cách tốt hơn để làm điều đó là
var = 7.0
var_is_good = isinstance(var, (classinfo1,
classinfo2,
classinfo3,
...,
classinfoN))