Python: обнаружить переопределение? - PullRequest
3 голосов
/ 03 октября 2011

Я ищу способ как-то определить, переопределяется ли функция или класс python или даже только если он определен дважды, а одно определение стирает другое.
Можно ли как-то это сделать с помощью отражения?
Может быть самой функцией (или классом) как-нибудь?

1 Ответ

3 голосов
/ 03 октября 2011

Переопределение класса ничего не делает с исходным классом, оно просто присваивает новый класс тому же имени.Проверить это легко - просто сохраните оригинал и посмотрите, относится ли к нему имя.

class SomeClass(object):
    x = 1

# Save the original
_my_saved_class = SomeClass

class SomeClass(object):
    x = 2

# Check if they're the same!
if SomeClass is not _my_saved_class:
    print "SomeClass was redefined!"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...