python3-当父类位于单独的文件中时,子类不继承父方法

问题描述 投票:0回答:1

在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可以正常运行。

python-3.x python-3.7
1个回答
0
投票

不是在您导入文件的文件中名称错误。

在lifo_queue.py

from linked_list import *

但是您的文件名为

linkedlist.py
© www.soinside.com 2019 - 2024. All rights reserved.