Python 2.7 で変数のメモリ アドレスを印刷するにはどうすればよいでしょうか。id() は変数またはオブジェクトの 'id' を返すことはわかっていますが、メモリ アドレスとして期待していた 0x3357e182 スタイルを返しません。print &x
たとえば、x が C++ int 変数である場合、 のような操作を実行したいのですが。これを Python で実行するにはどうすればよいですか。
ベストアンサー1
id
使用するメソッドは、16進数に変換する場合です。
hex(id(variable_here))
例えば:
x = 4
print hex(id(x))
私にくれた:
0x9cf10c
それがあなたが望むものですよね?
(面白いことに、2 つの変数を同じものにバインドすると、int
同じメモリ アドレスが使用される可能性があります。) 次を
試してください。
x = 4
y = 4
w = 9999
v = 9999
a = 12345678
b = 12345678
print hex(id(x))
print hex(id(y))
print hex(id(w))
print hex(id(v))
print hex(id(a))
print hex(id(b))
これにより、大きな整数の場合でも同一のペアが生成されました。