Я пытаюсь определить класс, который принимает параметр по умолчанию для своей функции инициализации. Я определил класс следующим образом:
class Node:
def __init__(self,name,visited=False,distance=math.inf,path=Node('-')):
self.name = name
self.visited = visited
self.distance = distance
self.path = path
и получаю следующую ошибку:
NameError: имя 'Node' не определено
Мне удалось обойти эту проблему, «предварительно определив» нужные мне части класса, например:
class Node:
def __init__(self,name):
self.name = name
class Node:
def __init__(self,name,visited=False,distance=math.inf,path=Node('-')):
self.name = name
self.visited = visited
self.distance = distance
self.path = path
, но я не могу избавиться от ощущения, что лучше, больше pythoni c way.