以下代码在我的脚本中表现不正确:
from ctypes import *
base_addr = c_uint64(0)
base_addr_temp = c_uint64(0)
print base_addr
print base_addr_temp
if(base_addr == base_addr_temp):
print "val"
Run Code Online (Sandbox Code Playgroud)
我得到的输出:
c_ulong(0L)
c_ulong(0L)
我使用的是python 2.7.3版本.
我认为因为这些是对象,你必须按值比较它们:
base_addr.value == base_addr_temp.value
Run Code Online (Sandbox Code Playgroud)
它已经有一段时间,因为我已经做任何Python,但在许多语言中,两个对象只考虑"平等的",如果他们实际上是指同一个对象(即在内存中引用同一位置).
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |