我定义了 2 个类 - Person 和 Manager。 Manager继承了Person类。 尝试导入 Person 类时出现错误..
代码如下。
人.py
class Person:
def __init__(self, name, age, pay=0, job=None):
self.name = name
self.age = age
self.pay = pay
self.job = job
def lastname(self):
return self.name.split()[-1]
def giveraise(self,percent):
#return self.pay *= (1.0 + percent)
self.pay *= (1.0 + percent)
return self.pay
管理器.py
from Basics import Person
class Manager(Person):
def giveRaise(self, percent, bonus=0.1):
self.pay *= (1.0 + percent + bonus)
return self.pay
错误陈述:
C:\Python27\Basics>Person.py
C:\Python27\Basics>管理器.py 追溯(最近一次通话): 文件“C:\Python27\Basics\Manager.py”,第 1 行,位于 从基础导入人 ImportError: 没有名为 Basics 的模块
为什么我会收到“找不到模块”错误?
请您参考如下方法:
你应该看看如何import and PYTHONPATH工作。在您的情况下,您可以使用以下方法解决该问题:
from Person import Person
我看到您来自 Java 背景(每个文件必须有一个与文件同名的类),但这不是 Python 模块的工作方式。
简而言之,当您像您一样从命令行运行 Python 脚本时,它会在您当前的目录中查找模块(以及其他地方)。当您像以前那样导入一个(简单的)名称时,Python 将查找:
- 一个名为
Basic.py的文件;或者: - 一个名为 Basic 的文件夹,其中包含一个名为
__init__.py的文件。
然后它将在名为 Person 的模块中查找定义。
