class FunctionDef(mixins.MultiLineBlockMixin, node_classes.Statement, Lambda): (source)
Known subclasses: astroid.nodes.scoped_nodes.AsyncFunctionDef, astroid.objects.PartialFunction, astroid.objects.Property
Constructor: FunctionDef(name, doc, lineno, col_offset, ...)
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__ |
No summary |
| Method | block |
Get a range from the given line number to where this node ends. |
| Method | bool |
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 |
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 |
Infer what the function returns when called. |
| Method | infer |
Infer what the function yields when called |
| Method | is |
Check if the method is abstract. |
| Method | is |
Check if the function is bound to an instance or class. |
| Method | is |
Check if this is a generator function. |
| Method | is |
Check if this function node represents a method. |
| Method | postinit |
Do some setup after initialisation. |
| Method | scope |
Lookup where the given name is assigned. |
| Class Variable | is |
Whether this node indicates a function. |
| Class Variable | special |
The names of special attributes that this function has. |
| Class Variable | type |
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 |
Undocumented |
| Instance Variable | name |
The name of the function. |
| Instance Variable | returns |
Undocumented |
| Instance Variable | type |
If present, this will contain the type annotation for arguments passed by a type comment |
| Instance Variable | type |
If present, this will contain the return type annotation, passed by a type comment |
| Property | blockstart |
The line on which the beginning of this block ends. |
| Property | extra |
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 |
Node attributes that contain child nodes. |
| Class Variable | _multi |
Undocumented |
| Class Variable | _other |
Node attributes that do not contain child nodes. |
| Class Variable | _other |
Attributes that contain AST-dependent fields. |
| Class Variable | _type |
Undocumented |
Inherited from MultiLineBlockMixin:
| Method | _get |
Undocumented |
| Method | _get |
Undocumented |
| Method | _get |
Undocumented |
| Property | _multi |
Undocumented |
Inherited from Statement (via MultiLineBlockMixin):
| 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, 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 | callable |
Whether this node defines something that is callable. |
| Method | child |
Search for the sequence that contains this child. |
| Method | eq |
Undocumented |
| 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 |
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 | 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 |
Inherited from Lambda (via MultiLineBlockMixin, Statement, NodeNG):
| Method | argnames |
Get the names of each of the arguments. |
| Method | display |
A human readable type of this node. |
| Method | implicit |
Undocumented |
| Method | pytype |
Get the name of the type that this node represents. |
| Instance Variable | locals |
A map of the name of a local variable to the node defining it. |
Inherited from FilterStmtsMixin (via MultiLineBlockMixin, Statement, NodeNG, Lambda):
| Method | assign |
Undocumented |
| Method | _get |
method used in _filter_stmts to get statements and trigger break |
Inherited from LocalsDictNodeNG (via MultiLineBlockMixin, Statement, NodeNG, Lambda, FilterStmtsMixin):
| 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 |
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 | values |
The nodes that define the locals in this scoped node. |
| Method | _append |
append a child, linking it in the tree |
| Method | _scope |
XXX method for interfacing the scope lookup |
Inherited from LookupMixIn (via MultiLineBlockMixin, Statement, NodeNG, Lambda, FilterStmtsMixin, LocalsDictNodeNG):
| Method | ilookup |
Lookup the inferred values of the given variable. |
| Method | lookup |
Lookup where the given variable is assigned. |
astroid.nodes.NodeNG.__init__astroid.objects.PartialFunction, astroid.objects.Property| 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 | The column that this node appears on in the source code. |
| parent:NodeNG or None | The parent node in the syntax tree. |
| end | The last line this node appears on in the source code. |
| end | The end column this node appears on in the source code. Note: This is after the last symbol. |
astroid.nodes.NodeNG.block_rangeGet a range from the given line number to where this node ends.
| Parameters | |
| lineno:int | Unused. |
| Returns | |
| tuple(int, int) | The range of line numbers that this node belongs to, |
astroid.nodes.NodeNG.bool_valueDetermine the boolean value of this node.
| Returns | |
| bool | The boolean value of this node.
For a FunctionDef this is always True. |
Get the qualified names of each of the decorators on this function.
| Parameters | |
| context | An inference context that can be passed to inference functions |
| Returns | |
| set(str) | The names of the decorators. |
astroid.nodes.NodeNG.frameThe node's frame node.
A frame node is a Module, FunctionDef,
ClassDef or Lambda.
| Returns | |
T | The node itself. |
this method doesn't look in the instance_attrs dictionary since it's done by an Instance proxy at inference time.
astroid.objects.PartialFunction, astroid.objects.PropertyInfer what the function returns when called.
| Returns | |
| iterable(NodeNG or Uninferable) or None | What the function returns. |
Infer what the function yields when called
| 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. |
Check if the function is bound to an instance or class.
| Returns | |
| bool | True if the function is bound to an instance or class, False otherwise. |
Check if this is a generator function.
| Returns | |
| bool | True is this is a generator function, False otherwise. |
Check if this function node represents a method.
| Returns | |
| bool | True if this is a method, False otherwise. |
Arguments, body, decorators=None, returns=None, type_comment_returns=None, type_comment_args=None):
(source)
¶
Do some setup after initialisation.
| 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 | Undocumented |
| type | Undocumented |
| Unknown Field: params | |
| type | The return type annotation passed via a type comment. |
| type | The args type annotation passed via a type comment. |
astroid.nodes.NodeNG.is_functionWhether this node indicates a function.
For a FunctionDef this is always True.
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.fromlinenoThe first line that this node appears on in the source code.
astroid.nodes.scoped_nodes.Lambda.typeastroid.objects.PropertyThe function type for this node.
Possible values are: method, function, staticmethod, classmethod.
astroid.nodes.NodeNG._astroid_fieldsNode attributes that contain child nodes.
This is redefined in most concrete classes.