Sometimes, we want to fix Python NameError: name is not defined.
In this article, we’ll look at how to fix Python NameError: name is not defined.
How to fix Python NameError: name is not defined?
To fix Python NameError: name is not defined, we can use a forward reference to annotate the type.
For instance, we write
class Tree:
def __init__(self, left: 'Tree', right: 'Tree'):
self.left = left
self.right = right
to create the __init__
method with the left
and right
parameter set to the 'Tree'
type.
This tells Python that left
and right
are Tree
class instances without the class being defined yet.
Conclusion
To fix Python NameError: name is not defined, we can use a forward reference to annotate the type.