Skip to main content
 首页 » 编程设计

Python类定义--导入语句

2025年05月04日14hnrainll

我定义了 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 将查找:

  1. 一个名为 Basic.py 的文件;或者:
  2. 一个名为 Basic 的文件夹,其中包含一个名为 __init__.py 的文件。

然后它将在名为 Person 的模块中查找定义。