Использование класса исключительно для хранения функций - это не то, что я бы рекомендовал. Вам нужно либо создать его экземпляр для вызова функций (причем сам экземпляр не имеет значения), либо сделать каждую функцию статическим или классовым методом , что также не является хорошей практикой.
Как правило, для импорта функций вы можете сделать это в одной строке.
from module_name import fn_one, fn_two, fn_three
Для многих действительно хороших стандартов в отношении имен и импорта, среди прочего, я настоятельно рекомендую прочитать и принять PEP 8 .
Я не знаю, предполагали ли вы, что «код класса» должен быть содержимым одного файла, но вы должны быть осторожны при открытии и закрытии ресурсов в разных контекстах; если кто-то импортирует этот файл, соединение с базой данных будет открыто, но оно не будет закрыто, пока не будет вызван save_chunk
(и тогда соединение больше не будет доступно).
В этом конкретном случае класс может иметь смысл, если вы пойдете немного дальше и используете его для управления подключением к базе данных. менеджер контекста - это распространенный, полезный способ управления настройкой и отключением таких вещей, как соединения с базой данных.
Это уже часть Python для SQLite , так что вы можете создать подкласс sqlite.Connection
, если вы хотите воспользоваться его диспетчером контекста и добавить служебные функции.
from sqlite3 import Connection
class SQLiteConnection(Connection):
def test_schema(self):
self.execute('CREATE TABLE test (name, location);')
def test_populate(self):
self.execute('''
INSERT INTO test
VALUES ('kungphu', 'Tokyo'),
('Argento', 'Jerusalem')
''')
def test_select(self):
return self.execute('SELECT * from test')
Пример использования:
>>> from scm import SQLiteConnection
>>>
>>> with SQLiteConnection(':memory:') as conn:
... conn.test_schema()
... conn.test_populate()
... for row in conn.test_select():
... print(row)
...
('kungphu', 'Tokyo')
('Argento', 'Jerusalem')
Методы, которые я здесь добавил, ... довольно глупы и определенно не являются хорошим способом для обработки приборов или тестирования. Они просто иллюстрируют, как вы могли бы сделать это, если это имеет смысл в вашем случае использования.