Задать вопрос

Импорт библиотек в пользовательских функциях — как правильно делать?

Всем привет.
Прошу помочь разобраться, как правильно импортировать библиотеки в пользовательские функции.

Пример:
Есть основной файл, допустим, main.py. Его код:
import psycopg2 as db
from psycopg2 import sql
from psycopg2.extras import RealDictCursor
from psycopg2.extras import execute_values

#Личные
from db_connect import db_connect

db_connect()


И есть пользовательская функция, находящаяся в файле db_connect.py:
def db_connect():
    """ Connect to the PostgreSQL database server """
    param_connect = {
        "host"      : "",
        "database"  : "",
        "user"      : "",
        "password"  : ""
    }
    conn = None
    try:
        # connect to the PostgreSQL server
        conn = db.connect(**param_connect)
    except (Exception, db.DatabaseError) as error:
        print(error)
    return conn


Вопрос - нужно ли в файле db_connect.py прописывать вызов библиотеки psycopg2, хотя она уже однажды была вызвана из файла main.py? Или не надо?
Если же вызов необходим, то где лучше помещать вызов - внутри функции или до нее?

Меня беспокоит то, что функций много, все используют одни и те же библиотеки и сотни строк кода вызова одних и тех же библиотек напрягают слегка... Спасибо заранее :)
  • Вопрос задан
  • 193 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@barolina
turn coffee into code
Опишите класс коннектор к базе, используя паттерн Singleton, в отдельном модуле, и импортируйте этот класс, где вам необходимо.
Вот к примеру, где описан данный паттерн и способы его использования
Singleton, Одиночка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы