isinstance関数の奇妙な振る舞い

アンクルあんかん

FactorモジュールFactor.pyhttps://github.com/pgmpy/pgmpy/blob/dev/pgmpy/factors/Factor.py)で名前が付けられたクラスがあり、次のように名前が付けられfactor_product関数もありますFactor.py

def factor_product(*args):
    if not all(isinstance(phi, Factor) for phi in args):
            raise TypeError("Input parameters must be factors")
    return functools.reduce(lambda phi1, phi2: _bivar_factor_operation(phi1, phi2,     
                                                            operation='M'), args)

これで、のインスタンスをFactor関数に渡しても、それでもスローされTypeErrorます。ifステートメントのすぐ上にブレークポイントが設定されたデバッガーからの数行:

(Pdb) args
args = (<pgmpy.factors.Factor.Factor object at 0x7fed0faf76a0>, <pgmpy.factors.Factor.Factor object at 0x7fed0faf7da0>)

(Pdb) isinstance(args[0], Factor)
False

(Pdb) type(args[0])
<class 'pgmpy.factors.Factor.Factor'>

(Pdb) Factor
<class 'pgmpy.factors.Factor.Factor'>

なぜこれが起こっているのか考えはありますか?

イーブイ

reload これは、同じモジュールから同じクラスの2つのコピーを作成するための良い方法です。1つはリロード前(そのクラスのインスタンスがまだ潜んでいる場合)から、もう1つは後からです。

新しいタイプのオブジェクトがあった可能性がありますが、Factorしばらく前にインポートされたため、古いタイプを参照していました。したがって、オブジェクトがインスタンスではないことは完全に真実Factorです...とにかく、そう Factorはありません。

決して信用しないでくださいreload:)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python関数の奇妙な振る舞い

分類Dev

Javascript関数の奇妙な振る舞い

分類Dev

数式の奇妙な振る舞いでPython関数

分類Dev

静的変数の奇妙な振る舞い

分類Dev

10進数の奇妙な振る舞い。

分類Dev

奇妙な振る舞いのJava変数

分類Dev

Rのtruncdistとの積分関数の「奇妙な」振る舞い

分類Dev

MATLABの積分関数の奇妙な振る舞い

分類Dev

奇妙な振る舞いのモックのside_effect関数

分類Dev

(^)の奇妙な振る舞い

分類Dev

束縛関数の奇妙な振る舞い

分類Dev

関数リターンの奇妙な振る舞い

分類Dev

Cコードの奇妙な振る舞い(fgets関数)

分類Dev

秒経過関数の奇妙な振る舞い

分類Dev

優先順位に関する中置関数の奇妙な振る舞い

分類Dev

奇妙な振る舞いをするC ++ 11sleep_関数

分類Dev

PHPのprintf関数とそれは奇妙な振る舞いです

分類Dev

ポインタの配列関数パラメータ-奇妙な振る舞い

分類Dev

reallocの使い方(奇妙な振る舞い)

分類Dev

Elm-初期の奇妙な振る舞いに関する乱数

分類Dev

emacsの奇妙な振る舞いに関するediprolog

分類Dev

Rの商の奇妙な振る舞い

分類Dev

vimのCAの奇妙な振る舞い?

分類Dev

Haskellでの(^)の奇妙な振る舞い

分類Dev

Rの奇妙な振る舞いのPOSIXct

分類Dev

svgの奇妙な振る舞いのjavascript

分類Dev

Tkinterの「後」の奇妙な振る舞い

分類Dev

リストの奇妙な振る舞い

分類Dev

GHCiの奇妙な振る舞い