如何在Python中导入外部类并从中生成对象?

2024-04-24 03:13:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在谷歌上搜索了一下,似乎找不到一个明确的例子来说明这一点。我为作业类创建了一个名为job.py的文件。你知道吗

class Job(object):
    title = ""
    pay = ""
    description = ""

    def __init__(self, title, pay, description):
        self.title = title
        self.pay = pay
        self.description = description

    def getNoobiness(self):
        return self.title

但当我在同一目录下的测试文件中尝试此操作时:

import job

job = Job("Fun Job", "7 elephants", "You will have much fun")

我得到这个错误:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    job = Job("Fun Job", "7 elephants", "You will have much fun")
NameError: name 'Job' is not defined

Tags: 文件pyselfyoutitledefhavejob
2条回答

您需要从文件中导入类:

from job import Job

如果要保留当前导入,请执行以下操作:

job.Job(...)

您正在导入包含类Job的模块job。然而,Python并不知道这一点;到目前为止,它还不知道Job在哪里。你知道吗

要解决此问题,请通过将job.放在Python前面显式地告诉它Job在哪里:

import job
new_job = job.Job("Fun Job", "7 elephants", "You will have much fun")

现在,Python知道您正在使用来自job模块的Job类。你知道吗


或者,更干净的解决方案是直接导入Job

from job import Job
job = Job("Fun Job", "7 elephants", "You will have much fun")

相关问题 更多 >