Kullan isinstance
, başka bir şey yok:
if isinstance(x, pd.DataFrame):
... # do something
PEP8 , isinstance
türleri kontrol etmenin tercih edilen yolu olduğunu açıkça söylüyor
No: type(x) is pd.DataFrame
No: type(x) == pd.DataFrame
Yes: isinstance(x, pd.DataFrame)
Ve aklından bile geçirme
if obj.__class__.__name__ = 'DataFrame':
expect_problems_some_day()
isinstance
mirası işler (bkz. type () ve isinstance () arasındaki farklar nelerdir? ). Örneğin, bir değişkenin bir dizge olup olmadığını (ya str
da unicode
), çünkü türetildikleri için size söyleyecektir basestring
)
if isinstance(obj, basestring):
i_am_string(obj)
Özellikle pandas
DataFrame
nesneler için:
import pandas as pd
isinstance(var, pd.DataFrame)
var
, boş bir veri çerçevesine eşittir " diyor . Gerçekten istediğiniz şey, "türünün türünevar
eşit olmasıpd.DataFrame
". Bunu kullanarak kontrol edebilirsinizisinstance