class FunctionDef(mixins.MultiLineBlockMixin, node_classes.Statement, Lambda): (source)
Known subclasses: astroid.nodes.scoped_nodes.AsyncFunctionDef
Class representing an ast.FunctionDef
.
>>> import astroid >>> node = astroid.extract_node(''' ... def my_func(arg): ... return arg + 1 ... ''') >>> node <FunctionDef.my_func l.2 at 0x7f23b2e71e10>
Method | __init__ |
|
Method | block_range |
Get a range from the given line number to where this node ends. |
Method | bool_value |
Determine the boolean value of this node. |
Method | decoratornames |
Get the qualified names of each of the decorators on this function. |
Method | frame |
The node's frame node. |
Method | get_children |
Get the child nodes below this node. |
Method | getattr |
this method doesn't look in the instance_attrs dictionary since it's done by an Instance proxy at inference time. |
Method | igetattr |
Inferred getattr, which returns an iterator of inferred statements. |
Method | infer_call_result |
Infer what the function returns when called. |
Method | infer_yield_result |
Infer what the function yields when called |
Method | is_abstract |
Check if the method is abstract. |
Method | is_bound |
Check if the function is bound to an instance or class. |
Method | is_generator |
Check if this is a generator function. |
Method | is_method |
Check if this function node represents a method. |
Method | postinit |
Do some setup after initialisation. |
Method | scope_lookup |
Lookup where the given name is assigned. |
Class Variable | is_function |
Whether this node indicates a function. |
Class Variable | special_attributes |
The names of special attributes that this function has. |
Class Variable | type_annotation |
If present, this will contain the type annotation passed by a type comment |
Instance Variable | args |
The arguments that the function takes. |
Instance Variable | body |
The contents of the function body. |
Instance Variable | decorators |
The decorators that are applied to this method or function. |
Instance Variable | doc |
The function's docstring. |
Instance Variable | instance_attrs |
Undocumented |
Instance Variable | name |
The name of the function. |
Instance Variable | returns |
Undocumented |
Instance Variable | type_comment_args |
If present, this will contain the type annotation for arguments passed by a type comment |
Instance Variable | type_comment_returns |
If present, this will contain the return type annotation, passed by a type comment |
Property | blockstart_tolineno |
The line on which the beginning of this block ends. |
Property | extra_decorators |
The extra decorators that this function can have. |
Property | fromlineno |
The first line that this node appears on in the source code. |
Property | type |
The function type for this node. |
Class Variable | _astroid_fields |
Node attributes that contain child nodes. |
Class Variable | _multi_line_block_fields |
Undocumented |
Class Variable | _other_fields |
Node attributes that do not contain child nodes. |
Class Variable | _other_other_fields |
Attributes that contain AST-dependent fields. |
Class Variable | _type |
Undocumented |
Inherited from MultiLineBlockMixin
:
Method | _get_assign_nodes |
Undocumented |
Method | _get_return_nodes_skip_functions |
Undocumented |
Method | _get_yield_nodes_skip_lambdas |
Undocumented |
Property | _multi_line_blocks |
Undocumented |
Inherited from Statement
:
Method | next_sibling |
The next sibling statement node. |
Method | previous_sibling |
The previous sibling statement. |
Class Variable | is_statement |
Whether this node indicates a statement. |
Inherited from NodeNG
(via Statement
):
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | accept |
Visit this node using the given visitor. |
Method | as_string |
Get the source code that this node represents. |
Method | callable |
Whether this node defines something that is callable. |
Method | child_sequence |
Search for the sequence that contains this child. |
Method | eq |
Undocumented |
Method | has_base |
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_class |
Instantiate an instance of the defined class. |
Method | last_child |
An optimized version of list(get_children())[-1] |
Method | locate_child |
Find the field of this node that contains the given child. |
Method | node_ancestors |
Yield parent, grandparent, etc until there are no more. |
Method | nodes_of_class |
Get the nodes (including this one or below) of the given types. |
Method | op_left_associative |
Undocumented |
Method | op_precedence |
Undocumented |
Method | parent_of |
Check if this node is the parent of the given node. |
Method | repr_tree |
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_local |
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_lambda |
Undocumented |
Class Variable | optional_assign |
Whether this node optionally assigns a variable. |
Instance Variable | col_offset |
The column that this node appears on in the source code. |
Instance Variable | end_col_offset |
The end column this node appears on in the source code. Note: This is after the last symbol. |
Instance Variable | end_lineno |
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 | tolineno |
The last line that this node appears on in the source code. |
Method | _fixed_source_line |
Attempt to find the line that this node appears on. |
Method | _get_assign_nodes |
Undocumented |
Method | _get_name_nodes |
Undocumented |
Method | _get_return_nodes_skip_functions |
Undocumented |
Method | _get_yield_nodes_skip_lambdas |
Undocumented |
Method | _infer |
we don't know how to resolve a statement by default |
Method | _infer_name |
Undocumented |
Method | _repr_name |
Get a name for nice representation. |
Class Variable | _explicit_inference |
Undocumented |
Inherited from Lambda
:
Method | argnames |
Get the names of each of the arguments. |
Method | callable |
Whether this node defines something that is callable. |
Method | display_type |
A human readable type of this node. |
Method | implicit_parameters |
Undocumented |
Method | pytype |
Get the name of the type that this node represents. |
Class Variable | is_lambda |
Undocumented |
Instance Variable | locals |
A map of the name of a local variable to the node defining it. |
Inherited from FilterStmtsMixin
(via Lambda
):
Method | assign_type |
Undocumented |
Method | _get_filtered_stmts |
method used in _filter_stmts to get statements and trigger break |
Inherited from LocalsDictNodeNG
(via Lambda
):
Method | __contains__ |
Check if a local is defined in this scope. |
Method | __getitem__ |
The first node the defines the given local. |
Method | __iter__ |
Iterate over the names of locals defined in this scoped node. |
Method | add_local_node |
Append a child that should alter the locals of this scope node. |
Method | items |
Get the names of the locals and the node that defines the local. |
Method | keys |
The names of locals defined in this scoped node. |
Method | qname |
Get the 'qualified' name of the node. |
Method | scope |
The first parent node defining a new scope. |
Method | set_local |
Define that the given name is declared in the given statement node. |
Method | values |
The nodes that define the locals in this scoped node. |
Method | _append_node |
append a child, linking it in the tree |
Method | _scope_lookup |
XXX method for interfacing the scope lookup |
Inherited from LookupMixIn
(via Lambda
, LocalsDictNodeNG
):
Method | ilookup |
Lookup the inferred values of the given variable. |
Method | lookup |
Lookup where the given variable is assigned. |
astroid.nodes.NodeNG.__init__
Parameters | |
name:str or None | The name of the function. |
doc:str or None | The function's docstring. |
lineno:int or None | The line that this node appears on in the source code. |
col_offset:int or None | The column that this node appears on in the source code. |
parent:NodeNG or None | The parent node in the syntax tree. |
end_lineno:Optional[int] | The last line this node appears on in the source code. |
end_col_offset:Optional[int] | The end column this node appears on in the source code. Note: This is after the last symbol. |
astroid.nodes.NodeNG.block_range
Parameters | |
lineno:int | Unused. |
Returns | |
tuple(int, int) | The range of line numbers that this node belongs to, |
astroid.nodes.NodeNG.bool_value
Returns | |
bool | The boolean value of this node.
For a FunctionDef this is always True. |
Parameters | |
context | An inference context that can be passed to inference functions |
Returns | |
set(str) | The names of the decorators. |
astroid.nodes.NodeNG.frame
The node's frame node.
A frame node is a Module
, FunctionDef
,
ClassDef
or Lambda
.
Parameters | |
future:Literal[ | Undocumented |
Returns | |
T | The node itself. |
Returns | |
iterable(NodeNG or Uninferable) or None | What the function returns. |
Returns | |
iterable(NodeNG or Uninferable) or None | What the function yields |
Check if the method is abstract.
A method is considered abstract if any of the following is true: * The only statement is 'raise NotImplementedError' * The only statement is 'raise <SomeException>' and any_raise_is_abstract is True * The only statement is 'pass' and pass_is_abstract is True * The method is annotated with abc.astractproperty/abc.abstractmethod
Returns | |
bool | True if the method is abstract, False otherwise. |
Returns | |
bool | True if the function is bound to an instance or class, False otherwise. |
Returns | |
bool | True is this is a generator function, False otherwise. |
Returns | |
bool | True if this is a method, False otherwise. |
Parameters | |
args:Arguments | The arguments that the function takes. |
body:list(NodeNG) | The contents of the function body. |
decorators:Decorators or None | The decorators that are applied to this method or function. |
returns | Undocumented |
type_comment_returns | Undocumented |
type_comment_args | Undocumented |
Unknown Field: params | |
type_comment_returns | The return type annotation passed via a type comment. |
type_comment_args | The args type annotation passed via a type comment. |
astroid.nodes.NodeNG.is_function
Whether this node indicates a function.
For a FunctionDef
this is always True.
astroid.nodes.scoped_nodes.Lambda.args
The extra decorators that this function can have.
Additional decorators are considered when they are used as assignments, as in method = staticmethod(method). The property will return all the callables that are used for decoration.
astroid.nodes.NodeNG.fromlineno
astroid.nodes.scoped_nodes.Lambda.type
The function type for this node.
Possible values are: method, function, staticmethod, classmethod.
astroid.nodes.NodeNG._astroid_fields
Node attributes that contain child nodes.
This is redefined in most concrete classes.