如果您在类中有一个名为“set”的方法,并且想在类中的其他地方创建一个标准的内置“set”对象,那么当我这样做时,Python 似乎会引用该方法。您如何更具体地让 Python 知道您指的是内置“set”,而不是方法“set”?更具体地说,set() 是在 ____exit_____ 函数中创建的。
请您参考如下方法:
我想我知道这里发生了什么。你在做这样的事情吗?
>>> class A(object):
... def set(self):
... pass
... def test(self, x=set):
... return x
...
>>> set
<type 'set'>
>>> A().test()
<function set at 0x64270>
由于在类中定义方法的方式,这是一个微妙的问题。它允许您如此轻松地创建方法别名,例如,
class A(object):
def some_method(self):
pass
some_other_method = some_method
您可以将 set 放在类定义的底部,也可以使用 __builtins__.set 引用内置集。
