Bad-Coder
@Bad-Coder
Не новичок, а тупой...

Можно проверить, функция снаружи или в классе?

Можно проверить, функция снаружи или в классе?
Если в классе, код выполняеться, в другом случае ошибка.
Допустим:
def private(Body):
    def _Function():
        exec(Body)
    return __Function
class Test:
    Code = """print("Hello!")"""
    a = private(Code)
    a()
    # Все хорошо и выводиться "Hello"
# Вне класса.
Code = """print("Hello!")"""
a = private(Code)
a()
# Ошибка

Возможно ли это? Прошу помочь.
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
Да, возможно. Если есть функция func и класс Test, то:
if func in dir(Test):
    print("yes")
else:
    print("no")

Но если вы хотите эту проверку запихнуть в функцию класса Test, то первая строка будет такой:
if func in dir(self):
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы