无论如何要确定实例最初绑定到的变量吗?
通过一个函数,我们可以做到这一点:
def f():
pass
print f.__name__
>> f
g = f
print g.__name__
>> f
我想要的是:
class c:
pass
mything = c()
print mything.__name__
>> mything
我想要这个的原因是为我正在编写的 API 提供更直观的日志记录/错误消息。
print mything
>> instance of c originally bound to 'mything'
而不是通常的:
print mything
>> <__main__.c instance at 0x7fb7994b25a8>
__name__
而且(我认为?)不要让人们一直明确地提供一个属性会很好__init__
。
这可能吗?可取的?