在阅读雨痕的python学习笔记第二版中有这样一段话,并没有更多的解释,搜索之后也没有更多相关的资料。
个人感觉是对应字符串对象的一些属性进行修改或者精简,想请教一下大家XD~
迷茫2017-04-17 17:35:18
一般的に言えば、プーリングはメモリ プールやスレッド プールなどの事前割り当てメカニズムであり、動作中の頻繁なリソース要求によって引き起こされるオーバーヘッドを削減することを目的としていますが、少なくともこれが意味するものではないことは明らかです。コンテキストから見ると、メモ内のプーリングは 2 つの異なる意味を指します。1 つはクラスの属性、もう 1 つは定数リソースのメモリ レイアウトです。
1) __name__ と __doc__ は、
ここで QString クラスを使用して、対応する __doc__ にインデックスを付けることができます。インスタンス化された各オブジェクトもこの属性にアクセスできますが、データをクラスに保存し、インスタンス化されたすべてのオブジェクトと共有する方が明らかにリソースを節約できます。
2) 個人的には、インターンの例はあまり良くないと感じています。このインターンは Java の String メソッドであるべきです (または、もともと Python を参照して Java が導入したものです。どちらが先かというと、ありません)。知る方法)、
を参照してください。http://blog.sina.com.cn/s/blog_69dcd5ed0...
Python は id() を使用して各オブジェクトのアドレス情報をマークします。 したがって、2 つのオブジェクトの id() が異なる場合、メモリ レイアウトの点で 2 つのオブジェクトのメモリ アドレスが異なることを意味します (ただし、その内容は同じかもしれません)。したがって、同じ内容のオブジェクトが参照するメモリ空間を同じにするために、 intern キーワードを使用してこの目的を達成し、メモリを節約します。
を参照してください。 リーリーPHPz2017-04-17 17:35:18
Python のソース コード分析を参照することをお勧めします
オブジェクト プールは、Python 内で広く使用されているテクノロジです。ソース コードを直接見ると、より明確に理解できます。
PHPz2017-04-17 17:35:18
簡単に言うと、-128 から正の 127 の範囲の int 値はグローバルに一意であり、プログラムが何度読み書きしても、これらの共通オブジェクトはメモリを節約するために Python インタープリターによって維持されます。型にはさまざまなプールがあり、文字列の場合、一般的に使用される単一の文字が通常プールに配置され、intern はプールの操作インターフェイスです。