當前位置: 首頁>>代碼示例>>Python>>正文


Python ast.Del方法代碼示例

本文整理匯總了Python中ast.Del方法的典型用法代碼示例。如果您正苦於以下問題:Python ast.Del方法的具體用法?Python ast.Del怎麽用?Python ast.Del使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在ast的用法示例。


在下文中一共展示了ast.Del方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: NAME

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def NAME(self, node):
        """
        Handle occurrence of Name (which can be a load/store/delete access.)
        """
        # Locate the name in locals / function / globals scopes.
        if isinstance(node.ctx, (ast.Load, ast.AugLoad)):
            self.handleNodeLoad(node)
            if (node.id == 'locals' and isinstance(self.scope, FunctionScope)
                    and isinstance(node.parent, ast.Call)):
                # we are doing locals() call in current scope
                self.scope.usesLocals = True
        elif isinstance(node.ctx, (ast.Store, ast.AugStore)):
            self.handleNodeStore(node)
        elif isinstance(node.ctx, ast.Del):
            self.handleNodeDelete(node)
        else:
            # must be a Param context -- this only happens for names in function
            # arguments, but these aren't dispatched through here
            raise RuntimeError("Got impossible expression context: %r" % (node.ctx,)) 
開發者ID:AtomLinter,項目名稱:linter-pylama,代碼行數:21,代碼來源:checker.py

示例2: NAME

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def NAME(self, node):
        """
        Handle occurrence of Name (which can be a load/store/delete access.)
        """
        # Locate the name in locals / function / globals scopes.
        if isinstance(node.ctx, ast.Load):
            self.handleNodeLoad(node)
            if (node.id == 'locals' and isinstance(self.scope, FunctionScope) and
                    isinstance(node._pyflakes_parent, ast.Call)):
                # we are doing locals() call in current scope
                self.scope.usesLocals = True
        elif isinstance(node.ctx, ast.Store):
            self.handleNodeStore(node)
        elif PY2 and isinstance(node.ctx, ast.Param):
            self.handleNodeStore(node)
        elif isinstance(node.ctx, ast.Del):
            self.handleNodeDelete(node)
        else:
            # Unknown context
            raise RuntimeError("Got impossible expression context: %r" % (node.ctx,)) 
開發者ID:PyCQA,項目名稱:pyflakes,代碼行數:22,代碼來源:checker.py

示例3: visit_name

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def visit_name(self, node: _ast.Name):  # id, ctx
        ctx = node.ctx.__class__
        if ctx in (_ast.Param, _ast.Del):
            return node.id
        else:
            if node.id in self.symbol_table:
                return self.symbol_table[node.id]
            if node.id in self.global_symbol_table:
                return self.global_symbol_table[node.id]
            raise NameError() 
開發者ID:item4,項目名稱:yui,代碼行數:12,代碼來源:calc.py

示例4: visit_Name

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def visit_Name(self, node: ast.Name) -> None:
        if self._is_six(node, SIX_SIMPLE_ATTRS):
            self.six_simple[_ast_to_offset(node)] = node

        if self._scope_stack:
            if isinstance(node.ctx, ast.Load):
                self._scope_stack[-1].reads.add(node.id)
            elif isinstance(node.ctx, (ast.Store, ast.Del)):
                self._scope_stack[-1].writes.add(node.id)
            else:
                raise AssertionError(node)

        self.generic_visit(node) 
開發者ID:asottile,項目名稱:pyupgrade,代碼行數:15,代碼來源:pyupgrade.py

示例5: is_interesting_expression

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def is_interesting_expression(node):
    # type: (ast.AST) -> bool
    """
    If this expression has a value that may not be exactly what it looks like,
    return True. Put differently, return False if this is just a literal.
    """
    return (isinstance(node, ast.expr) and
            not (isinstance(node, (ast.Num, ast.Str, getattr(ast, 'NameConstant', ()))) or
                 isinstance(getattr(node, 'ctx', None),
                            (ast.Store, ast.Del)) or
                 (isinstance(node, ast.UnaryOp) and
                  isinstance(node.op, (ast.UAdd, ast.USub)) and
                  isinstance(node.operand, ast.Num)) or
                 (isinstance(node, (ast.List, ast.Tuple, ast.Dict)) and
                  not any(is_interesting_expression(n) for n in ast.iter_child_nodes(node))))) 
開發者ID:alexmojaki,項目名稱:executing,代碼行數:17,代碼來源:bird.py

示例6: p_del_stmt

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def p_del_stmt(p):
    '''del_stmt : DEL exprlist'''
    #               1        2
    ctx_to_store(p[2], ast.Del)          # interesting fact: evaluating Delete nodes with ctx=Store() causes a segmentation fault in Python!
    if isinstance(p[2], ast.Tuple) and not p[2].paren:
        p[0] = ast.Delete(p[2].elts, rule=inspect.currentframe().f_code.co_name, **p[1][1])
    else:
        p[0] = ast.Delete([p[2]], rule=inspect.currentframe().f_code.co_name, **p[1][1])

# pass_stmt: 'pass' 
開發者ID:histogrammar,項目名稱:histogrammar-python,代碼行數:12,代碼來源:hgawk_grammar.py

示例7: translate_assign

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def translate_assign(self, exp, visible=True):
        if len(exp) != 3:
            raise MochiSyntaxError(exp, self.filename)

        left = exp[1]
        left_type = type(left)
        if left_type is Symbol:
            targets = [self.create_assign_target(left)]
            ref_symbol = left
            if not visible:
                self.hidden_vars.append(ref_symbol.name)
        elif issequence_except_str(left):
            targets = [self.create_assign_targets(left)]
            ref_symbol = NONE_SYM
        else:
            raise MochiSyntaxError(exp, self.filename)

        pre = []
        right_value_builder, right_value = self.translate(exp[2], False)
        if type(right_value) is ast.Expr:
            right_value = right_value.value
        assign = ast.Assign(targets=targets,
                            value=right_value,
                            lineno=right_value.lineno,
                            col_offset=0)
        pre.extend(right_value_builder)
        pre.append(assign)
        _, ref = self.translate_ref(ref_symbol)
        return pre, ref

    #@syntax('del')
    #def translate_del(self, exp):
    #    return (ast.Delete(targets=[ast.Name(id=exp[1].name,
    #                                         lineno=exp[1].lineno,
    #                                         col_offset=exp[1].col_offset,
    #                                         ctx=ast.Del())],
    #                       lineno=exp[0].lineno,
    #                       col_offset=exp[0].col_offset),), self.translate_ref(NONE_SYM)[1] 
開發者ID:i2y,項目名稱:mochi,代碼行數:40,代碼來源:translation.py

示例8: visit_Attribute

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def visit_Attribute(self, attr: ast.Attribute) -> VisitExprReturnT:
        value, value_actions = self.visit_expr(attr.value)
        attr_flattened = ast.Attribute(value=value, attr=attr.attr, ctx=attr.ctx)

        ctx = attr.ctx
        if isinstance(ctx, ast.Load):
            # Store the attribute's value into a symbol.
            result_id = self.next_symbol_id()
            assign_node = assign(result_id, attr_flattened)
            return load(result_id), value_actions + [assign_node]
        elif isinstance(ctx, (ast.Store, ast.Del)):
            # Don't evaluate the attribute.
            return attr_flattened, value_actions
        else:
            raise NodeNotSupportedError(attr, "Attribute context not supported") 
開發者ID:NetSys,項目名稱:kappa,代碼行數:17,代碼來源:flatten.py

示例9: visit_Subscript

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def visit_Subscript(self, subscript: ast.Subscript) -> VisitExprReturnT:
        value, value_actions = self.visit_expr(subscript.value)
        sl, slice_actions = self.visit_slice(subscript.slice)
        ctx = subscript.ctx
        subscript_flattened = ast.Subscript(value=value, slice=sl, ctx=ctx)
        actions = value_actions + slice_actions

        if isinstance(ctx, ast.Load):
            result_id = self.next_symbol_id()
            assign_node = assign(result_id, subscript_flattened)
            return load(result_id), actions + [assign_node]
        elif isinstance(ctx, (ast.Store, ast.Del)):
            return subscript_flattened, actions

        raise NodeNotSupportedError(subscript, "Subscript context not supported") 
開發者ID:NetSys,項目名稱:kappa,代碼行數:17,代碼來源:flatten.py

示例10: check_filename

# 需要導入模塊: import ast [as 別名]
# 或者: from ast import Del [as 別名]
def check_filename(self, filename):
        print(filename)
        source = Source.for_filename(filename)
        nodes = defaultdict(list)
        for node in ast.walk(source.tree):
            if isinstance(node, (
                    ast.UnaryOp,
                    ast.BinOp,
                    ast.Subscript,
                    ast.Call,
                    ast.Compare,
                    ast.Attribute
            )):
                nodes[node] = []

        code = compile(source.tree, source.filename, 'exec')
        result = list(self.check_code(code, nodes))

        if not re.search(r'^\s*if 0(:| and )', source.text, re.MULTILINE):
            for node, values in nodes.items():
                if is_unary_not(node):
                    continue

                if isinstance(getattr(node, 'ctx', None), (ast.Store, ast.Del)):
                    assert not values
                    continue

                if isinstance(node, ast.Compare):
                    if len(node.ops) > 1:
                        assert not values
                        continue

                    if is_unary_not(node.parent) and isinstance(node.ops[0], (ast.In, ast.Is)):
                        continue

                if is_literal(node):
                    continue

                if sys.version_info >= (3, 9) and in_finally(node):
                    correct = len(values) > 1
                else:
                    correct = len(values) == 1

                if not correct:
                    print(source.text, '---', node_string(source, node), node.lineno,
                          len(values), correct, values, file=sys.stderr, sep='\n')
                    self.fail()

        return result 
開發者ID:alexmojaki,項目名稱:executing,代碼行數:51,代碼來源:test_main.py


注:本文中的ast.Del方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。