キーワード付き引数におけるpandas DataFrameの扱い

pandasのDataFrameをキーワード付き引数として渡したいときについてです。タプルやリストは

def func(tup = None, li = None):
    if(tup != None):
        print(tup)
    if(li != None):
        print(li)

のような関数を定義してもエラーは出ません。しかし、

def func2(df = None):
    if(df != None):
        print(df)

として引数としてpandasのDataFrameを渡してやると下記のようなエラーが出ます。(ちなみにfunc2にタプルやリストを渡してもエラーは出ません)

TypeError: Could not compare [None] with block values

いつもながらgoogle先生に聞いてみると英語情報ですが同じ質問をしている方がおられました。

stackoverflow.com

要約すると比較演算子

!=

じゃなくて

is not

を使えと書かれてます。

詳しい説明の方も読もうかと思ったのですが、あんまり良くわからなかったので分かる方はぜひ読んでみてください。