1. ホーム
  2. python

[解決済み] Python変数のメモリアドレスを表示する [重複]。

2022-07-04 12:12:32

質問

Python 2.7で変数のメモリアドレスを表示するにはどうすればよいですか? id()が変数やオブジェクトの'id'を返すことは知っていますが、これはメモリアドレスのために私が期待していた0x3357e182のスタイルを返しません。 私は次のようなことをしたいのです。 print &x ここで、xは例えばC++のint変数です。 Pythonでこれを行うにはどうすればよいですか?

どのように解決するのですか?

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))

これによって、大きな整数の場合でも同じペアが得られました。