Я изучаю Python и создаю соединение с базой данных. Пытаясь добавить в БД, я думаю о создании кортежей из информации, а затем добавить их в БД.
Что я делаю : я беру информацию от пользователя и храню ее в переменных. Могу ли я добавить эти переменные в кортеж? Можете ли вы помочь мне с синтаксисом?
Также, если есть эффективный способ сделать это, пожалуйста, поделитесь ...
РЕДАКТИРОВАТЬ Позвольте мне немного отредактировать этот вопрос ... Мне нужен только кортеж для ввода информации в БД. Как только информация будет добавлена в БД, я должен удалить кортеж? Я имею в виду, мне больше не нужен кортеж.
a = ()
, иb= a + (5)
приводит к b = 5, следовательно,b= a + (5,)
приведет кb = (5,)
; кортежВы можете начать с пустого кортежа с чем-то вроде
t = ()
. Вы можете добавить с помощью+
, но вы должны добавить еще один кортеж. Если вы хотите добавить один элемент, сделать его одноплодное:t = t + (element,)
. Вы можете добавить кортеж из нескольких элементов с запятой или без нее.источник
t = ()
затемt += (1,)
Еще одна тактика, которая еще не упомянута, - это добавление в список, а затем преобразование списка в кортеж в конце:
возвращается
Я иногда использую это, когда мне нужно передать кортеж в качестве аргумента функции, что часто необходимо для простых функций.
источник
list(someTuple)
тоже работает. Два типа объектов, по-видимому, взаимозаменяемыВ Python 3 вы можете использовать
*
для создания нового кортежа элементов из исходного кортежа вместе с новым элементом.источник
tuple1 + ("baz",)
.«Как только информация будет добавлена в БД, я должен удалить кортеж? Я имею в виду, что кортеж мне больше не нужен».
Нет.
Как правило, нет причин удалять что-либо. Есть несколько особых случаев для удаления, но они очень, очень редки.
Просто определите узкую область действия (т. Е. Определение функции или функцию метода в классе), и объекты будут собраны в конце мусора.
Не беспокойтесь об удалении чего-либо.
[Заметка. Я работал с парнем, который - в дополнение к попытке удалять объекты - всегда писал методы «сброса» для их очистки. Как будто он собирался спасти их и использовать их снова. Также глупое тщеславие. Просто игнорируйте объекты, которые вы больше не используете. Если вы определяете свои функции в достаточно маленьких блоках кода, вам больше не о чем думать.]
источник
Это так же просто, как следующее:
Однако кортежи в Python являются неизменяемыми , поэтому вы не можете добавлять переменные в кортеж после его создания.
источник
Как отмечали другие ответы, вы не можете изменить существующий кортеж, но вы всегда можете создать новый кортеж (который может взять некоторые или все элементы из существующих кортежей и / или других источников).
Например, если все интересующие вас объекты находятся в скалярных переменных, и вы знаете имена этих переменных:
для использования, например, как в этом примере:
конечно, этот один случай будет проще выразить как
(x, y, z)
(или даже вообще не упоминать имена(23, 45, 67)
), но этотmaketuple
подход может быть полезен в некоторых более сложных случаях (например, когда имена для использования также определяются динамически и добавляются в список во время вычисление).источник
Я уверен, что синтаксис для этого в Python:
После установки кортежи не могут быть изменены.
источник