2012-02-28 3 views
1

id()関数を使って遊んでいただけです。&は、変数にまだ割り当てられていない値を渡すと、エラーを出すのではなく、メモリアドレスを返します。 id()関数はその値を空のメモリ位置に割り当てますか?pythonのid()関数は新しい値を作成しますか?

>>> print id(18) 
14569728 
>>> b = 18 
>>> print id(b) 
14569728 
>>> print id('check') 
140297315282112 
>>> c = 'check' 
>>> print id(c) 
140297315282112 

答えて

5

値/リテラル​​オブジェクトであるので、id()常に彼らのために有効な結果を返すます。それ以外にも、CPythonの整数リテラルは-1から256までで、短い文字列リテラルはinternedであるため、最初にアクセスした後は定数IDを持ちます。

関連する問題