Когда у Callable отсутствует __module__? - PullRequest
8 голосов
/ 09 мая 2019

Я делаю декоратор ведения журнала для функций в python:

import logging
from typing import Callable
from functools import wraps


def function_logging(fn: Callable) -> Callable:
    fn_logger = logging.getLogger(fn.__module__ + '.' + fn.__name__)

    @wraps(fn)
    def wrapper(*args, **kwargs):
        fn_logger.info("Args: {}".format(args))
        fn_logger.info("Kwargs: {}".format(kwargs))
        result = fn(*args, **kwargs)
        fn_logger.info("Return: {}".format(result))
        return result

    return wrapper

Статический анализ PyCharm говорит мне, что я не могу ожидать, что Callable будет иметь атрибут __module__.До сих пор я не сталкивался со случаями, когда это не удается.Кто-нибудь знает, при каких обстоятельствах можно встретить Callable без атрибута __module__?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...