为了账号安全,请及时绑定邮箱和手机立即绑定

理解模块/包的问题

理解模块/包的问题

qq_笑_17 2021-11-16 15:37:02
所以我是 Python 和 Flask 的新手,我目前正在 Flask/Python 中使用一些 CRUD 语句我想知道我是否完全理解正在发生的事情,但我对以下主题有点不安全:模块、包导入我想用 Flask 连接到我的 SQLite 数据库。这样做,我必须做一些进口:import os from flask import Flask from flask_sqlalchemy import SQLAlchemy导入完成后的第一件事是设置一个基目录(=basedir):basedir = os.path.abspath(os.path.dirname(__file__))关于这些步骤,我有一些问题:题:import osfrom flask import Flask第一次导入(“import os”)是否意味着我只使用名为“os”的模块?它是一个独立的 .py - “文件”,包括一个类、一些属性和方法,对吗?第二次导入(“from flask import Flask”)是否意味着我正在使用包“flask”并导入模块“Flask”?如果,例如,会有另一个像“render_template”这样的导入,这是否意味着我正在使用这个模块还是它是来自模块“Flask”的方法?第二个问题:basedir = os.path.abspath(os.path.dirname(__file__))我想了解这段代码。首先,我声明了一个名为 basedir 的变量。然后我打算将该变量的值设置为当前 .py-script 的绝对路径。现在到单个步骤:os => 表示我正在使用已经导入的模块“os”,对吗?path => 表示我正在使用该模块的属性?abspath => 表示我正在使用名为“abspath(value)”的“os”模块中的方法?如果我得到其他事情的答案,接下来的事情就很清楚了:”(os.path.dirname(__filename__))__filename__ => 这是一个内置的 Python 属性,对吧?
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

  1. Does the first import ("import os") mean that I'm only using a Module called "os"?

正如声明所暗示的那样,您正在导入OS 模块,因此您可以os在 Python 脚本中使用该模块中的函数。

所以,现在您可以os.function()在脚本中进行语句了。默认情况下,OS 模块与 Python 一起安装。这是关于 os 模块的信息

  1. Does the second import ("from flask import Flask") mean that I'm using the package "flask" and import the module "Flask"? If, e.g., there would be another import like "render_template", does that mean I'm using this module or is it a method from the module "Flask"?

这可能会令人困惑,因为函数名称和导入语句具有相同的名称。您只是从 Flask 模块中导入了函数Flask,而不是 Flask 模块中存在的所有函数。这可以出于多种原因完成。On 是为了简化调用函数。另一个可能是节省系统资源,因为您只是

  1. os => means that I'm using the already imported module "os", right? path => means that I'm using an attribute from that module? abspath => means that I'm using a method within the "os" module called "abspath(value)"?

确切地说,请阅读文档以获取模块开发人员的解释。

  1. Filename

这是Python 中文件名用法的说明。


查看完整回答
反对 回复 2021-11-16
?
郎朗坤

TA贡献1921条经验 获得超9个赞

我要回答第一个问题。基本上,当您只进行导入时,python 会导入整个文件及其所有模块和函数。就像import math你可以使用math.ceil和其他功能一样。然而,当你说from math import add你只能得到一个特定的模块时,ceil就像ceil(2.7). 有关更多详细信息,请阅读此处


查看完整回答
反对 回复 2021-11-16
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信