Относительно в новинку для Python, и я видел следующую конструкцию в библиотеке PyFacebook (источник здесь: http://github.com/sciyoshi/pyfacebook/blob/master/facebook/init.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
что это делает?
Мимоходом связанный, я использую PyDev в Eclipse, и он отмечает это как ошибка. Я предполагаю, что это не имеет место. Так или иначе позволить Eclipse знать это хорошо?
Учебное утверждение там не делает класс наследовать само по себе, он создает объект класса с текущим значением AuthProxy в качестве суперкласса, а затем назначает класс объекта к переменной «AuthProxy», предположительно перезаписываю ранее назначенный AuthProxy, который он унаследовал.
По сути, это примерно так же, как x = f (x)
: x Разве значение F на самом, нет круговой зависимости - есть только старый X, а новый х Отказ Старый ампроток и новая ампрокси.
Это использует AuthProxy, импортируемый из другого модуля (проверьте ваш импорт) и вытекаете из него.
«Бывшая» AuthProxy создается __ Generate_Proxies
(это не очень хороший код, есть даже EXEC
и Eval
В нем :))), но автор хотел и определить некоторые методы на вершине этого.