我已经定义了2个类 - Person&Manager.Manager继承Person类.尝试导入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
Run Code Online (Sandbox Code Playgroud)
Manager.py
from Basics import Person
class Manager(Person):
def giveRaise(self, percent, bonus=0.1):
self.pay *= (1.0 + percent + bonus)
return self.pay
Run Code Online (Sandbox Code Playgroud)
错误陈述:
C:\ Python27 \基础> Person.py
C:\ Python27\Basics> Manager.py Traceback(最近一次调用最后一次):文件"C:\ Python27\Basics\Manager.py",第1行,来自Basics import Person ImportError:没有名为Basics的模块
为什么我发现No module found错误?
你应该查看import和PYTHONPATH的工作原理.在您的情况下,您可以使用以下方法解决
from Person import Person
Run Code Online (Sandbox Code Playgroud)
我看到你来自Java背景(每个文件必须有一个与文件名相同的类),但这不是Python模块的工作方式.
简而言之,当您从命令行运行Python脚本时,它会像您一样在当前目录中查找模块(以及其他位置).当您导入(简单)名称时,Python将寻找:
Basic.py; 要么:__init__.py.然后它将在该模块中查找名为的定义Person.