Python辞書のメモリ使用量について教えてください。
- 現在保存されているオブジェクトのハッシュコード(使用されている衝突解決戦略のため、バケットの位置からは予測できません)
- キーオブジェクトへのポインタ
- 値オブジェクトへのポインタ
これは、32ビットマシンでは少なくとも12バイト、64ビットマシンでは24バイトになります。辞書は8つの空のバケットから始まります。次に、容量に達するたびにエントリ数を2倍にすることで、サイズを変更します。
-
例外がPythonのオブジェクトであることをどのように説明しますか?
はい、指定されたコードでは「err」は例外オブジェクトです。 Pythonでは、すべてがオブジェクトです。そして、すべてのオブジェクトには属性とメソッドがあります。したがって、リスト、関数、タプルなどのような例外もオブジェクトです。したがって、例外にも他のオブジェクトと同様の属性があります。これらの属性は、次のように設定およびアクセスできます。基本クラスの例外があり、他のほとんどすべての例外はサブクラスです。 eが例外オブジェクトの場合、e.argsとe.messageがその属性です。 現在のPython実装では、例外はタイプ、値、トレースバックの3つの部分で構成されています。 sysモジ
-
Python関数から辞書を返すにはどうすればよいですか?
Python関数から辞書を返す方法はいくつもあります。以下に示すものを検討してください。 例 # This function returns a dictionary def foo(): d = dict(); d['str'] = "Tutorialspoint" d['x'] = 50 return d print foo() 出力 {'x': 50