在Python3.7.4中,当子类位于单独的文件中时,我的子类未从其父类继承方法。这是文件片段...
linkedlist.py
class Node(object):
def __init__(self, data):
self.data = data
self.next_node = None
class LinkedList(object):
def __init__(self):
self.header = None
def print_list(self):
# print data in each node
lifo_queue.py
from linked_list import *
class Lifo(LinkedList):
# definitions for pop() and push()
test.py
from lifo_queue import Lifo
myList = Lifo()
myList.push("abc")
myList.push("def")
myList.push("ghi")
myList.print_list()
运行程序test.py返回错误,引用语句myList.print_list():
Traceback (most recent call last):
File "test.py", line 7, in <module>
myList.print_list()
AttributeError: 'Lifo' object has no attribute 'print_list'
过去我曾见过类似的模式,但在这里看不到我做错了什么。如果Lifo和LinkedList的类定义在同一文件中,则test.py可以正常运行。
不是在您导入文件的文件中名称错误。
在lifo_queue.py
from linked_list import *
但是您的文件名为
linkedlist.py