は、次のコードを考えてみましょう(ガベージコレクション)デルを使用するか、Noneに再割り当て好むだろうか?あなたは
Q
あなたは
16
A
答えて
22
ガベージコレクションの違いはありません。どちらの場合も、self.fps_display
が指すオブジェクトへの参照が解放されます。どちらを使用するかは、名前がまだ存在するかどうか(現在は別のオブジェクトを指していますが、None
)かどうかによって異なります。
13
属性がfps_display
のオブジェクトがあります。
アトリビュートを奇妙にオプションにしたり、紛失したりしないでください。
ファーストクラスの属性で、合理的に見える場合は、リソースを解放するにはNone
に設定する必要があります。オブジェクトにオプションの属性があり、驚くべき例外が発生するため、属性を削除するのは気が散っています。それはself.fps_displayは `場合はhasattr(自己、 "fps_display")`よりNONE`であれば `行くしやすい(ときれい)だから
self.fps_display = None
関連する問題
- 1. あなたは
- 2. あなたは
- 3. あなたは
- 4. あなたはUILabel
- 5. あなたはユーザタイプ
- 6. あなたはQuickCheck
- 7. あなたはXAML
- 8. はあなたが
- 9. C#のウェブブラウザあなたは
- 10. あなたはALTER VIEWと
- 11. あなたはggplot2のgeom_bar
- 12. ユーザーはあなたが
- 13. あなたは比較
- 14. 輸入:あなたなら、あなたはなく、構文およびベストプラクティス
- 15. あなたは、閉じた接続
- 16. なぜあなたはC++でジェネリック
- 17. なぜあなたはあなたのブール式の末尾に追加「または偽」でしょうか?
- 18. Vuejsは:あなたは `` <body>
- 19. あなたはTは独自のクラス
- 20. Gerritコードレビューエラー - あなたはコミッターではありません
- 21. あなたにUITabBarItem
- 22. はあなたがIE8でJSと
- 23. あなたはCOMがここ
- 24. 関数型プログラミング:あなたは、引数
- 25. タスク「デフォルトは」あなたのgulpfile
- 26. あなたはsourcetreeで元気?
- 27. Chatbot会話オブジェクト、あなたのアプローチは?
- 28. あなたはキューのデータ構造が
- 29. あなたは、CSSを定義し
- 30. 誰がどのソリューションは、あなたが
私は通常、NONE''への割り当てのために行きます。いくつかの異なる意味で 'None'が必要な場合は例外です(しかし' not present 'を示すために 'Ellipsis'を使用します)。 –
実際、delはガベージコレクションプロセスを直接呼び出さないため、refcounterを減らし、変数をガベージスペースにぶら下げて、コレクタがクリーンアップするようにします。 – Red15
@ Red15:正しい。 –