Можно сделать так?
>>name(a)
a
>>> a = 'str'
>>> name = lambda x:[n for n in globals() if id(globals()[n])==id(x)][0]
>>> name(a)
'a'
def global_print(*names):
for name in names:
var = globals()[name]
if isinstance(var, long):
print "%s = 0x%x\n" % (name, var)
else:
print "%s = %s\n" % (name, var)