class If(mixins.MultiLineBlockMixin, mixins.BlockRangeMixIn, Statement): (source)
Constructor: If(lineno, col_offset, parent, end_lineno, ...)
Class representing an ast.If
node.
>>> import astroid >>> node = astroid.extract_node('if condition: print(True)') >>> node <If l.1 at 0x7f23b2e9dd30>
Method | __init__ |
No summary |
Method | block |
Get a range from the given line number to where this node ends. |
Method | get |
Get the child nodes below this node. |
Method | has |
Undocumented |
Method | is |
Return True if IF stmt is a sys.version_info guard. |
Method | is |
Return True if IF stmt is a typing guard. |
Method | postinit |
Do some setup after initialisation. |
Instance Variable | body |
The contents of the block. |
Instance Variable | is |
Whether the if-statement is the orelse-block of another if statement. |
Instance Variable | orelse |
The contents of the else block. |
Instance Variable | test |
The condition that the statement tests. |
Property | blockstart |
The line on which the beginning of this block ends. |
Method | _get |
An If node can contain a Yield node in the test |
Class Variable | _astroid |
Node attributes that contain child nodes. |
Class Variable | _multi |
Undocumented |
Inherited from MultiLineBlockMixin
:
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Property | _multi |
Undocumented |
Inherited from BlockRangeMixIn
(via MultiLineBlockMixin
):
Method | _elsed |
handle block line numbers range for try/finally, for, if and while statements |
Inherited from Statement
(via MultiLineBlockMixin
, BlockRangeMixIn
):
Method | next |
The next sibling statement node. |
Method | previous |
The previous sibling statement. |
Class Variable | is |
Whether this node indicates a statement. |
Inherited from NodeNG
(via MultiLineBlockMixin
, BlockRangeMixIn
, Statement
):
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | accept |
Visit this node using the given visitor. |
Method | as |
Get the source code that this node represents. |
Method | bool |
Determine the boolean value of this node. |
Method | callable |
Whether this node defines something that is callable. |
Method | child |
Search for the sequence that contains this child. |
Method | eq |
Undocumented |
Method | frame |
The first parent frame node. |
Method | has |
Check if this node inherits from the given type. |
Method | infer |
Get a generator of the inferred values. |
Method | inferred |
Get a list of the inferred values. |
Method | instantiate |
Instantiate an instance of the defined class. |
Method | last |
An optimized version of list(get_children())[-1] |
Method | locate |
Find the field of this node that contains the given child. |
Method | node |
Yield parent, grandparent, etc until there are no more. |
Method | nodes |
Get the nodes (including this one or below) of the given types. |
Method | op |
Undocumented |
Method | op |
Undocumented |
Method | parent |
Check if this node is the parent of the given node. |
Method | repr |
Get a string representation of the AST from this node. |
Method | root |
Return the root node of the syntax tree. |
Method | scope |
The first parent node defining a new scope. These can be Module, FunctionDef, ClassDef, Lambda, or GeneratorExp nodes. |
Method | set |
Define that the given name is declared in the given statement node. |
Method | statement |
The first parent node, including self, marked as statement node. |
Class Variable | is |
Whether this node indicates a function. |
Class Variable | is |
Undocumented |
Class Variable | optional |
Whether this node optionally assigns a variable. |
Instance Variable | col |
The column that this node appears on in the source code. |
Instance Variable | end |
The end column this node appears on in the source code. Note: This is after the last symbol. |
Instance Variable | end |
The last line this node appears on in the source code. |
Instance Variable | lineno |
The line that this node appears on in the source code. |
Instance Variable | parent |
The parent node in the syntax tree. |
Property | fromlineno |
The first line that this node appears on in the source code. |
Property | tolineno |
The last line that this node appears on in the source code. |
Method | _fixed |
Attempt to find the line that this node appears on. |
Method | _get |
Undocumented |
Method | _infer |
we don't know how to resolve a statement by default |
Method | _infer |
Undocumented |
Method | _repr |
Get a name for nice representation. |
Class Variable | _explicit |
Undocumented |
Class Variable | _other |
Node attributes that do not contain child nodes. |
Class Variable | _other |
Attributes that contain AST-dependent fields. |
int | None
= None, col_offset: int | None
= None, parent: NodeNG | None
= None, *, end_lineno: int | None
= None, end_col_offset: int | None
= None):
(source)
¶
astroid.nodes.NodeNG.__init__
Parameters | |
lineno:int | None | The line that this node appears on in the source code. |
colint | None | The column that this node appears on in the source code. |
parent:NodeNG | None | The parent node in the syntax tree. |
endint | None | The last line this node appears on in the source code. |
endint | None | The end column this node appears on in the source code. Note: This is after the last symbol. |
astroid.nodes.NodeNG.block_range
Get a range from the given line number to where this node ends.
Parameters | |
lineno:int | The line number to start the range at. |
Returns | |
tuple(int, int) | The range of line numbers that this node belongs to, starting at the given line number. |
Return True if IF stmt is a sys.version_info guard.
>>> import astroid >>> node = astroid.extract_node(''' import sys if sys.version_info > (3, 8): from typing import Literal else: from typing_extensions import Literal ''') >>> node.is_sys_guard() True
Return True if IF stmt is a typing guard.
>>> import astroid >>> node = astroid.extract_node(''' from typing import TYPE_CHECKING if TYPE_CHECKING: from xyz import a ''') >>> node.is_typing_guard() True
astroid.nodes.NodeNG._astroid_fields
Node attributes that contain child nodes.
This is redefined in most concrete classes.