继承自己的Python类?这是如何运作的?

Bia*_*cki 5 python eclipse facebook

比较新的Python和我看到PyFacebook库下面的结构(来源此处http://github.com/sciyoshi/pyfacebook/blob/master/facebook/ 初始化的.py#L660).我很好奇这是做什么的,因为它似乎是一个继承自己的类.

class AuthProxy(AuthProxy):
    """Special proxy for facebook.auth."""

    def getSession(self):
        """Facebook API call. See http://developers.facebook.com/documentation.php?v=1.0&method=auth.getSession"""
        ...
        return result

    def createToken(self):
        """Facebook API call. See http://developers.facebook.com/documentation.php?v=1.0&method=auth.createToken"""
        ...
        return token
Run Code Online (Sandbox Code Playgroud)

这是做什么的?

切向相关,我在Eclipse中使用PyDev,它将此标记为错误.我猜不是这样的.无论如何让Eclipse知道这很好吗?

Dev*_*rre 14

那里的类​​声明没有使类继承自己,它创建一个类对象,当前值为AuthProxy作为超类,然后将类对象分配给变量'AuthProxy',可能会覆盖以前分配的AuthProxy它继承自.

本质上,它大致相同x = f(x):x不是f本身的值,没有循环依赖 - 只有旧的x和新的x.旧的AuthProxy和新的AuthProxy.