2012-07-31 28 views
8

Làm cách nào để sử dụng một dạng tiêu cực của hàm isinstance()?Hình thức tiêu cực của isinstance() trong Python

thường phủ sẽ làm việc giống như

x != 1 

if x not in y 

if not a 

Tôi chỉ chưa thấy một ví dụ với isinstance(), vì vậy tôi muốn biết nếu có một cách chính xác để sử dụng phủ định với isinstance().

+7

Vì vậy, bạn không có nghĩa là 'không isinstance (...)'? – jmetz

+2

vì vậy bạn cần phải học cách sử dụng 'không' cho mọi cấu trúc python? – JBernardo

+2

ow bài học kinh nghiệm .. – mrl

Trả lời

18

Chỉ cần sử dụng not. isinstance chỉ trả về một số bool, bạn có thể not như bất kỳ hình thức nào khác.

6

Điều đó sẽ có vẻ lạ, nhưng:

if not isinstance(...): 
    ... 

Các isinstance hàm trả về một giá trị boolean. Điều đó có nghĩa là bạn có thể phủ nhận nó (hoặc thực hiện bất kỳ hoạt động lôgic nào khác như or hoặc and).

Ví dụ:

>>> a="str" 
>>> isinstance(a, str) 
True 
>>> not isinstance(a, str) 
False 
3

Chỉ cần sử dụng not, ví dụ,

if not isinstance(someVariable, str): 
    .... 

Bạn chỉ đơn giản là phủ nhận "giá trị thật" (tức là Boolean) mà isinstance đang trở lại.

Các vấn đề liên quan