Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2012 14:32:50

tfox
Зарегистрирован: 2012-04-13
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

Soteric
Думаю использование классов может существенно упростить задачу.

Ну да. Обвернуть это все в класс.

Данные класса - Список именованных кортежей
Методы класса - Функции которые буду читать/писать. Вообщем предоставят доступ к данным класса.

Офлайн

#2 Сен. 27, 2012 15:09:00

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

Не совсем :)

Класс представляет собой строку таблицы. Поля таблицы - поля класса.

class Person(Object):
def __init__(self, id, name, email, job):
self.id = id
self.name = name
self.email = email
self.job = job
А в списке будут храниться экземпляры Person.
persons = []
persons.append(Person(1, "John", "john@example.org", "Chief"))
persons.append(Person(2, "Bob", "bob@example.org", "Manager"))
persons.append(Person(3, "Jack", "jack@example.org", "Developer"))
Экземпляры Person конечно будут создаваться в том месте, где происходит выборка из базы. Список можно заменить на словарь, в качестве ключа помещая id конкретного Person.



Офлайн

#3 Сен. 27, 2012 16:05:46

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

tfox
Именованный кортеж. Не изменяемый тип данных. Добавить/удалить элементы нельзя. Но само значение элементов поменять можно. Прям как в базе данных.
Нельзя, это все-таки кортеж - неизменяемый тип данных.

Придётся делать что-то вроде:
a = (1, 2, 3)
a = a[1:] + (5,) + a[2:]  # a = (1, 5, 3)
а это медленно и некрасиво.

Так что если нужно менять значения элементов, лучше использовать изменяемый тип данных: список, словарь или класс.



Офлайн

#4 Сен. 27, 2012 16:59:29

MayakOV
Зарегистрирован: 2012-09-27
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

2tfox: исключительно аваторкой навеяло - dbfpy (http://dbfpy.sourceforge.net/)

Офлайн

#5 Сен. 27, 2012 17:23:32

tfox
Зарегистрирован: 2012-04-13
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

MayakOV
исключительно аваторкой навеяло - dbfpy

Офлайн

#6 Сен. 27, 2012 17:24:41

tfox
Зарегистрирован: 2012-04-13
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

были времена xBase, FoxPro, Paradox

Отредактировано tfox (Сен. 27, 2012 17:24:56)

Офлайн

#7 Сен. 27, 2012 17:28:16

tfox
Зарегистрирован: 2012-04-13
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Как представить таблицу БД в Python?

GaiveR
Так что если нужно менять значения элементов, лучше использовать изменяемый тип данных: список, словарь или класс.

Да. Точно. Использовать класс.

Вариант предложенный Soteric наиболее интересный. Список классов.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version