【问题标题】:Python Instance Not createdPython 实例未创建
【发布时间】:2020-09-25 14:17:37
【问题描述】:
from collections import defaultdict 

class Graph: 
    def __init__(self): 
        self.graph = defaultdict(list) 
        
    def addEdge(self,u,v): 
        self.graph[u].append(v) 

g = Graph() 
g.addEdge(0, 1) 
g.addEdge(0, 2) 
g.addEdge(1, 2) 
g.addEdge(2, 0) 
g.addEdge(2, 3) 
g.addEdge(3, 3) 

print (graph)

当我运行它时,它显示“名称图未定义”这是什么问题?我尝试以不同的方式进行更改,但仍然存在错误

【问题讨论】:

  • print (graph) 你是说print (g.graph) 吗?
  • 您有一个print(graph),而变量graph 未定义。你必须print(g)

标签: python class oop methods undefined


【解决方案1】:

您正在尝试访问类外部的class 元素,因此您需要使用创建的包含该类的对象来指向它,本质上是在您的代码print(graph) 中更改为print(g.graph)

from collections import defaultdict 

class Graph: 
    def __init__(self): 
        self.graph = defaultdict(list) 
        
    def addEdge(self,u,v): 
        self.graph[u].append(v) 

g = Graph() 
g.addEdge(0, 1) 
g.addEdge(0, 2) 
g.addEdge(1, 2) 
g.addEdge(2, 0) 
g.addEdge(2, 3) 
g.addEdge(3, 3) 

print (g.graph)

【讨论】:

  • @R.K 如果此答案或任何答案解决了您的问题,请单击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
猜你喜欢
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
  • 2014-06-02
  • 2015-03-15
  • 1970-01-01
  • 2018-07-11
  • 2019-12-22
  • 2014-04-25
相关资源
最近更新 更多