Введение в Python - [4]
>13 | print text + "Nice to code you" # Выведет новую строку
>14 | print text[ -1] * 10 # Выведет 10 восклицательных знаков
В результате вы увидите следующее
Списки, пожалуй, самый универсальный составной тип данных в Python. Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками ( [ ] ). В определенной мере, списки подобны массивам в C. Единственной разницей является то, что элементы одного списка могут иметь разные типы данных.
Получить доступ к элементам, сохраненным в списке можно, точно так же, как и в строках, при помощи оператора нарезки ( [ ] и [:] ) и индексов, начиная с нуля и до конца. Знак плюс ( + ) объединяет два списка, а звездочка ( * ) - оператор повторения для списка. Например:
>1 | my_list =[True, 786, 3.14, 'text', 70.2]
>2 | second_list = [123, 'text']
>3 |
>4 | print my_list # Напечатает весь список
>5 | print my_list[0] # Напечатает первый элемент списка
>6 | print my_list[1:3] # Напечатает элементы списка со второго по третий
>7 | print my_list[2:] # Напечатает элементы списка начиная с третьего
>8 | print second_list * 2 # Напечатает удвоенный список
>9 | print my_list + second_list # Напечатает объединенные списки
В результате вы увидите:
>| [True, 786, 3.14, 'text', 70.2]
>| True
>| [786, 3.14]
>| [3.14, 'text', 70.2]
>| [123, 'text', 123, 'text']
>| [True, 786, 3.14, 'text', 70.2, 123, 'text']
Кортеж это еще один составной тип данных, похожий на список. Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки ( ( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.
Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.
>1 | my_tuple =(True, 786, 3.14, 'text', 70.2)
>2 | second_tuple = (123, 'text')
>3 |
>4 | print my_tuple # Печатает весь кортеж
>5 | print my_tuple[0] # Печатает первый элемент
>6 | print second_tuple * 2 # Печатает удвоенный кортеж
>7 | print my_tuple + second_tuple # Печатает объединенные кортежи
В результате вы получите:
>| (True, 786, 3.14, 'text', 70.2)
>| True
>| (123, 'text', 123, 'text')
>| (True, 786, 3.14, 'text', 70.2, 123, 'text')
При этом, следующие действия доступны для списков и недоступны для кортежей:
>1 | my_list = ["Rome", 23, ["cat", "dog"], True, 3.14]
>2 | my_tuple = ("Rome", 23, ["cat", "dog"], True, 3.14)
>3 | my_list[0] = "Paris" # Замена значения первого элемента сработает для списка
>4 | my_tuple[0] = "Paris" # Та же операция для кортежа вызовет ошибку
Словари в Python это неотсортированная колекция элементов, доступ к которым осуществляется по ключу. То есть, каждому ключу словаря соответствует определенное значение. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением - любой тип данных.
Пары ключ, значение словаря заключаются в фигурные скобки ( { } ). Есть несколько способов создания словарей:
>1 | my_dict = { } # Создаем пустой словарь
>2 | my_dict["country"] = "Mexico" # Присваиваем ключу country значение Mexico
>3 | print my_dict["country"] # Выведет Mexico
>4 |
>5 | # Заполнение словаря при инициализации
>6 | another_dict = {"number":23, 2: True, "my_list":[1, 2, 3]}
>7 | print another_dict.keys() # Напечатает список всех ключей
>8 | print another_dict.values() # Напечатает список всех значений
Данный код выведет следующее:
Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.
Сеты в Python:
Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого является то, что он хранит только уникальные значания.
Создать сеты можно следующими способами:
>1 | # Создание пустого сета
>2 | s = set()
>3 | # Создание сета инициализацией
>4 | s = {"hi", "bye"}
Для добавление элемента в сет используется метод add, для удаления - pop или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference - возвращает элементы сета отсутствующие в другом сете, intersection - наоборот, возвращает елементы сета присутствующие в другом сете.
Иногда может возникнуть необходимость преобразовать один тип данных в другой. Для этого существуют специальные встроенные функции Python. Вот некоторые из них:
Функция | Описание |
int(x [,base]) | Преобразовывает х в целое число. Например, int(12.4) -> 12 |
long(x [,base] ) | Преобразовывает х в long. Например, long(20) -> 20L |
float(x) | Преобразовывает х в число с плавающей точкой. Например float(10) -> 10.0 |
complex(real [,imag]) | Создает комплексное число. Например complex(20) -> (20+0j) |
str(x) | Преобразовывает х в строку. Например str(10) -> '10' |
tuple(s) | Преобразовывает s в кортеж. Например tuple("hello") -> ( "h","e","l","l","o" ) |
list(s) | Преобразовывает s в список. Например list("Python") -> ["P","y","t","h","o","n" ] |
dict(d) | Создает словарь из d. Например dict( [ (1,2), (3,4) ] ) -> { 1:2, 3:4 } |
Автор книги — американский специалист по программированию, один из руководителей фирмы IBM, в своей книге делает попытку изложить общие проблемы создания программного обеспечения, его сопровождения и использования. Особенно подробно рассматриваются все фазы разработки программ разных типов. Изложение ясное, удачно иллюстрировано примерами.Для программистов разной квалификации и пользователей ЭВМ.fb2: ВНИМАНИЕ. В тексте присутствуют таблицы. Рекомендуется читать файл с помощью программы, поддерживающей их отображение.
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Очень часто под рукой не оказывается ни отладчика, ни дизассемблера, ни даже компилятора, чтобы набросать хотя бы примитивный трассировщик. Разумеется, что говорить о взломе современных защитных механизмов в таких условиях просто смешно, но что делать если жизнь заставляет?..