interpreter.py 文件源码

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

项目:tailbiter 作者: darius 项目源码 文件源码
def __init__(self, f_code, f_closure, f_globals, f_locals):
        self.f_code = f_code
        self.f_globals = f_globals
        self.f_locals = f_locals

        self.f_builtins = f_globals.get('__builtins__')
        if isinstance(self.f_builtins, types.ModuleType):
            self.f_builtins = self.f_builtins.__dict__
        if self.f_builtins is None:
            self.f_builtins = {'None': None}

        self.stack = []

        self.f_lineno = f_code.co_firstlineno # XXX doesn't get updated
        self.f_lasti = 0

        self.cells = {} if f_code.co_cellvars or f_code.co_freevars else None
        for var in f_code.co_cellvars:
            self.cells[var] = Cell(self.f_locals.get(var))
        if f_code.co_freevars:
            assert len(f_code.co_freevars) == len(f_closure)
            self.cells.update(zip(f_code.co_freevars, f_closure))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号