fake.py 文件源码

python
阅读 39 收藏 0 点赞 0 评论 0

项目:pythonVSCode 作者: DonJayamanne 项目源码 文件源码
def _faked(module, obj, name):
    # Crazy underscore actions to try to escape all the internal madness.
    if module is None:
        module = get_module(obj)

    faked_mod = _load_faked_module(module)
    if faked_mod is None:
        return None

    # Having the module as a `parser.representation.module`, we need to scan
    # for methods.
    if name is None:
        if inspect.isbuiltin(obj):
            return search_scope(faked_mod, obj.__name__)
        elif not inspect.isclass(obj):
            # object is a method or descriptor
            try:
                objclass = obj.__objclass__
            except AttributeError:
                return None
            else:
                cls = search_scope(faked_mod, objclass.__name__)
                if cls is None:
                    return None
                return search_scope(cls, obj.__name__)
    else:
        if obj == module:
            return search_scope(faked_mod, name)
        else:
            try:
                cls_name = obj.__name__
            except AttributeError:
                return None
            cls = search_scope(faked_mod, cls_name)
            if cls is None:
                return None
            return search_scope(cls, name)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号