Python проверяет, существует ли функция без попытки

В python, как вы проверяете, существует ли функция без фактического запуска функции (т. Е. С помощью try)? Я бы тестировал, существует ли он в модуле.

3 Solutions collect form web for “Python проверяет, существует ли функция без попытки”

Вы можете использовать dir для проверки наличия имени в модуле:

 >>> import os >>> "walk" in dir(os) True >>> 

В приведенном выше примере кода мы проверяем функцию os.walk .

Вы предложили try except . Вы действительно можете использовать это:

 try: variable except NameError: print("Not in scope!") else: print("In scope!") 

Это проверяет, находится ли variable в области видимости (она не вызывает функцию).

 Solution1: import inspect if (hasattr(m, 'f') and inspect.isfunction(mf)) Solution2: import inspect if ('f' in dir(m) and inspect.isfunction(mf)) 

где:
m = имя модуля
f = функция, определенная в m

  • Лучше «попробовать» что-нибудь и поймать исключение или проверить, возможно ли его первым избежать исключения?
  • Общий декоратор для обертывания, кроме как в python?
  • Confused о try / except с пользовательским исключением
  • python try-finally
  • request.HTTPError не удалось после запроса request.get () 404
  • Получите инструкцию Try для циклического перемещения до получения правильного значения
  • Python - чистый способ обертывания отдельных операторов в попытке, кроме блока
  • python продолжается, если условие не выполнено
  • прерывание клавиатуры с помощью python gtk?
  • Django: исключение, определяемое пользователем
  • Как получить последний объект исключения после возникновения ошибки в приглашении Python?
  • Python - лучший язык программирования в мире.