Pythonでx = xと言うのはなぜですか?
質問
このファイル、関数 cross_from_below(x、threshold)
に、 threshold = threshold
という行があります。この行のポイントは何ですか?これは、このコマンドがなかった場合とは異なることをしますか?
解決
その割り当てには意味がありません。おそらく残っているだけなので、削除する必要があります。次の関数はほぼ同じで、ありません。
他のヒント
いいえ、あなたが引用する特定の例では、その行は(無害ですが)冗長です-実際、次の機能(下からではなく上からのクロスしきい値)はほぼ同じです(もちろん比較の方向を保存します) )、その追加の割り当てはありませんが、同じように機能します。
threshold = threshold
のようなものが違いを生む唯一のケースは def
ステートメントにあり、名前の早期バインディングを強制するイディオム(デフォルト値が def
の時点で評価されるという事実、つまり「早期」を利用します-)。しかし、それはそのコードが行っていることではなく、完全を期すために追加するだけです。
何か意味があるかもしれません。たとえば、 threshold
がクラスのプロパティである場合、それを割り当てるとセッターメソッドを呼び出すことができます。
しかし、この場合、タイプミスだと思います。 changelog 。これが何らかの理由で意図的なものであったというヒントはありません。
または、ある時点で次のように書くことが理にかなっているケースの1つである可能性があります。
self.threshold = threshold
関数はしきい値を維持する必要があるクラスのメソッドであるため。 (その場合、それは何か他のものを意味しますよね?)
所属していません StackOverflow