Вопрос понимания Модули / Пакеты - PullRequest
0 голосов
/ 22 февраля 2019

, так что я новичок в Python и Flask и в настоящее время я играю с некоторыми CRUD-операторами внутри Flask / Python

Я хочу знать, полностью ли я понимаю, что происходит, но янемного небезопасно в отношении следующей темы: Модули, импорт пакетов

Я хочу подключиться к своей базе данных SQLite с помощью Flask.Для этого мне нужно выполнить некоторые операции импорта:

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

Первое, что нужно сделать после импорта, - это установить базовый каталог (= basedir):

basedir = os.path.abspath(os.path.dirname(__file__))

И в отношении этих шагов Iесть несколько вопросов:

Вопрос:

import os
from flask import Flask

Означает ли первый импорт ("импорт ОС"), что я использую только модуль с именем "ОС"?Это автономный .py - «файл», включающий в себя класс, некоторые атрибуты и методы, верно?

Означает ли второй импорт («из фляги импорт Фляска»), что я использую пакет «фляга» иимпортировать модуль "Колба"?Если, например, будет другой импорт, такой как "render_template", означает ли это, что я использую этот модуль, или это метод из модуля "Flask"?

Второй вопрос:

basedir = os.path.abspath(os.path.dirname(__file__))

Я бы хотел понять этот код.Прежде всего, я объявляю переменную с именем basedir.Затем я собираюсь установить значение этой переменной в абсолютный путь для текущего .py-скрипта.Теперь о единственных шагах:

os => означает, что я использую уже импортированный модуль "os", верно?путь => означает, что я использую атрибут из этого модуля?abspath => означает, что я использую метод в модуле "os", который называется "abspath (value)"?Следующая вещь будет ясна, если я получу ответ на другие вопросы: «

(os.path.dirname(__filename__))

__filename__ => это встроенный атрибут Python, верно?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019
  1. Does the first import ("import os") mean that I'm only using a Module called "os"?

Как следует из утверждения, вы импортируете модуль ОС, поэтому вы можете использовать функции в модуле os вваш скрипт на python.

Итак, теперь вы можете делать os.function() операторы в вашем скрипте.Модуль ОС устанавливается с Python по умолчанию. Вот информация о модуле os .

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"?

Это может сбивать с толку, поскольку имя функции и оператор импорта имеют одно и то же имя.Вы импортируете только колбу function из модуля Flask, а не все функции, присутствующие в модуле Flask.Это может быть сделано по нескольким причинам.Это упрощает вызов функции.Другим может быть сохранение системных ресурсов, так как вы только

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)"?

Точно, прочитайте документы для объяснения разработчиков модуля.

Filename

Вот объяснение использования filename в Python.

0 голосов
/ 22 февраля 2019

Я собираюсь ответить на первый вопрос.В основном, когда вы делаете только импорт, python импортирует весь файл со всеми его модулями и функциями.Например, когда вы import math, вы можете использовать math.ceil и другие функции.Однако, когда вы говорите from math import add, вы получаете только определенный модуль, который ceil похож на ceil(2.7).Для более подробной информации читайте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...