Программирование Python по моим конспектам Лекция 8.6
Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.
Для тех кто не в теме, тут я перевожу свои лекции по питону с языка немецкого на язык человеческий, поэтому- если что- я не виноват. Эти лекции созданы не для того, чтобы сделать из человека говнокодера, а для того, чтобы помочь в сложных темах, которые некому объяснить, а книга по программированию не может с этим помочь. Если вы никогда не были в такой ситуации- значит вы вундеркинд и я хочу от вас детей.
Сегодня, товарищи, мы продолжим наше общение о последовательностях, а именно поговорим о кортежах.
Не о этих
А о других. Вспоминаем наш пример с коммуналкой из предыдущей лекции. Много объектов. Обычно, все разных типов.
Таким образом и кортеж - это сложный обьект, который включает в себя объекты разных (либо одинаковых) типов. Кортежи используются в основном для моделирования структуры одного важного единичного объекта. Не сцы, меченый, ща поясню. Вот типичный кортеж-
Имя и дата рождения какого либо тела
Описание положения объекта в трехмерном пространстве. ( через пару лекций доберемся до программы с точками в 3д пространстве)
Кортеж из шести элиментов (имя, фамилия, почтовый индекс, дом, улица, город)
Итак, кортеж состоит из чреды обьектов, формально, разных типов, которые разделены запятой. Они могут (но не обязательно) быть в круглых скобках.
Любуемся на этот зоопарк
ну первые две строки и для ясны, а вот третья - это ужо интереснее будет. Первый элемент-обьект стринг, далее обьект инт, а далее неведомая херня в скобках. А есть сие не иначе как еще одна последовательность. Выходит у нас последовательность в последовательности. Или кортеж в кортеже. А еще может быть кортеж в кортеже, внутри которого еще один кортеж, внутри которого...
Далее у нас строка с кортежем инт и пустым элементом. Если мы хотим пустой элемент, то перед ним нужно ставить запятую.
Потом у нас вовсе идет пустой кортеж
А затем возвращаемся к нашему кортежу. Как я раньше и говорил- доступ мы осуществляем по индексу. Сначала я смотрю второй элемент кортежа (так как счисление у нас начинается с нуля). Далее смотрю третий элемент, который у нас есть вложенным котрежем.
Но как же получить доступ к элементам вложенного кортежа?
А вот ответ у нас на предпоследней строке. Сначала индекс самого кортежа, к которому мы хотим доебаться обратиться (он у нас под индексом 2 так как)
индекс 0- pikabu
индекс 1- 4
индекс 2 - наша последовательность - hello, bye
, а затем вводим индекс необходимого его элимента. В нашем случае мы хотим первый элемент- поэтому индекс будет выглядеть [2][0]
А теперь минутка хардкора для новичков. Вот вам Кортеж, в котором есть две другие последовательности, причем во второй вложена еще одна, в которую вложена еще одна. Как у Кощея..яйцо в ларце, ларец в яйце..или как там. ВОт пример ниже. Наслаждаемся.
Еще одна полезная штукенция. Вместо декларирования элиментов кортежа..скажем так..вручную, можно использовать переменные. Вот так
Хороших выходных, товарищи.
пс. Задания будут через один урок. Я буду стараться ускориться с этими скучными темами, так как хочется уже приступить к интересным штукенциям)