Python,类继承抽象类时导入包模块

Python,类继承抽象类时导入包模块,python,class,inheritance,packages,abstract,Python,Class,Inheritance,Packages,Abstract,SavingAccount类是从Account继承的(抽象类)。当main.py导入储蓄账户时,如下所示: bank __init__.py Account.py SavingAccount.py main.py 从bank.SavingAccount导入SavingAccount 它显示为“没有名为“Account”的模块”。有人知道怎么解决吗 输出窗口中的完整错误代码如下所示: bank __init__.py Account.py Savi

SavingAccount类是从Account继承的(抽象类)。当main.py导入储蓄账户时,如下所示:

bank
    __init__.py
    Account.py
    SavingAccount.py
main.py
从bank.SavingAccount导入SavingAccount

它显示为“没有名为“Account”的模块”。有人知道怎么解决吗

输出窗口中的完整错误代码如下所示:

bank
    __init__.py
    Account.py
    SavingAccount.py
main.py
储蓄账户

from abc import ABCMeta,abstractmethod
class Account(metaclass=ABCMeta):
    _id = 0
    _name = ''
    _balance = 0
    __next = 0

    def __init__(self,name,initBal = 1000):
        self._name=name;
        self._balance = initBal
你应该改变

from Account import Account
class SavingAccount(Account):
    _interestRate = 0

    def __init__(self,name,initBal=0):
        super(SavingAccount,self).__init__(name,initBal)

    @classmethod
    def interestRate(cls):
        _interestRate = 0

    @classmethod
    def interestRate(cls,rate):
        cls._interestRate = rate


建议在包中使用后一种相对导入方法。

Python2或Python3?如果要导入同一软件包的同级子模块,应该通过绝对导入或显式相对导入来完成。Python3和Pycharm
from Account import Account
from .Account import Account