【问题标题】:Importing class objects in Python 3.6.1在 Python 3.6.1 中导入类对象
【发布时间】:2018-07-21 02:01:44
【问题描述】:

我正在创建一个 PyStudentManager 应用程序并尝试从我的“classes.py”文件中导入我的“HighSchoolStudent”类(HighSchoolStudents 是从 Student 继承的):

students = []

class Student:

    def __init__(self, name, student_id=332):
        self.name=  name
        self.student_id = student_id
        students.append(self)

    def __str__(self):
        return "Student " + self.name

    def get_name_capitalize(self):
        return self.name.capitalize()

    def get_school_name(self):
        return self.school_name


class HighSchoolStudent(Student):

    def get_school_name(self):
        return "This is a High School student"

    def get_name_capitalize(self):
        original_value = super().get_name_capitalize()
        return original_value + "-HS"

以下是我在我的'webapp.py'文件中导入的:

from flask import Flask, render_template, redirect, url_for, request

import classes.HighSchoolStudent

# ...

我有很多不同的方式来编写 import 语句,我认为我在 Python 入门上学习的 Pluralsight 课程使用的是以前版本的 python,这就是我被卡住的原因,谢谢。

【问题讨论】:

  • 你能展示你的文件结构吗? classes.py 在哪里,webapp.py 在哪里?

标签: python class import python-import


【解决方案1】:

试试看:

from classes import HighSchoolStudent

如果你想用别名导入它,比如HSStudent,那么你可以这样做:

from classes import HightSchoolStudent as HSStudent

我假设classes.py 在您的当前目录中。如果它位于单独的目录中,则需要适当地提供路径。但是 import 语句的语法是一样的。

【讨论】:

  • 我尝试使用相同的导入语句,但我想出了一个警告:'未使用的导入语句'
  • @ChristopherRoper 这意味着您导入了一个包,但不是您没有在代码中的任何地方使用它。这不会阻止您运行代码,这只是一个警告。但是,如果您不打算使用它,请不要导入它。如果我的回答帮助你导入,请采纳为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
相关资源
最近更新 更多