在Python3.7.4中,当它们位于不同的文件中时,我的子类并没有从其父类继承方法。以下是文件片段。。。
链接列表.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()
测试.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