Litvek - онлайн библиотека >> Дмитрий Красота >> Программирование: прочее и др. >> Введение в Python >> страница 3
данных. Например, возраст человека может быть числовым значением, а его адрес - буквенно-числовым. В Python существует множество стандартных типов данных, которые используются для хранения определенных значений и обладают своими специфическими методами.

К стандартным типам данных в Python относят:

* Числа (Numbers)

* Строка (String)

* Список (List)

* Кортеж (Tuple)

* Словарь (Dictionary)

Числовой тип данных в Python:

Числовой тип данных в Python предназначен для хранения числовых значений. Это неизменяемый тип данных, что означает, что изменение значения числового типа данных приведет к созданию нового объекта в памяти (и удалению старого)

Числовые объекты создаются, когда вы присваиваете им значение. Например:

1 | num1 = 23

2 | num2 = 42


Также вы можете удалять числовой объект при помощи ключевого слова del. Синтаксис команды del следующий:

1 | del num1 # удаляет переменную num1

2 | del num2, num3 # удаляет обе переменные num2 за num3 за раз


В Python есть четыре вида числового типа данных:

* int (целое число)

* long (длинное целое число [может быть представлено в восьмеричной или шестнадцатеричной системе исчисления])

* float (число с плавающей точкой: -0.2, 0.0, 3.14159265 и т.д.)

* complex (комплексное число)

Примеры видов числового типа данных:
int

long

float

complex

1

51924361L

0.0

3.14j

102

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

0

0xDEFABCECBDAECBFBAEl

32.3+e18

.876j

0b10

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2-E12

4.53e-7j

Строки в Python:


Под строками в Python подразумевается набор символов между кавычками. В Python можно использовать пары одинарных либо двойных кавычек. Из строк можно взять подстроку используя оператор нарезки ( [ ] и [ : ] ) с индексами от нуля для первого символа строки и до последнего. Так же можно использовать обратную индексацию от -1 для последнего символа до начала.

Оператор плюс ( + ) для строк соединяет две строки в одну, звездочка ( * ) оператор повторения. Например:


1 | text = "Hello, Python!"

2 | print text[0] # Выводит первый символ

3 | print text[0:5] # Выводит подстроку text от 0 символа до 5 (включительно с нулевым, исключая пятый)

4 | print text[4:10] # Выведет строку от 4 символа до 10 (включая четвертый, исключая 10)

5 | print text[0:14] # Выведет всю строку

6 | print text[7:] # Выведет строку с 7 символа до конца

7 | print text[:5] # Выведет строку с начала до 5 символа. Аналогично print text[0:5]

8 | print text[:] # Выведет всю строку

9 | print text[-1] # Выводит последний символ

10 | print text[-1:-14] # Не сработает, выведет пустую строку

11 | print text[::2] # Третий аргумент - шаг. Выведет каждый второй символ

12 | print text[:: -1] # Шаг отрицательный. Выведет фразу наоборот

13 | print text + "Nice to code you" # Выведет новую строку

14 | print text[ -1] * 10 # Выведет 10 восклицательных знаков


В результате вы увидите следующее


Введение в Python. Иллюстрация № 5
Списки в Python:

Списки, пожалуй, самый универсальный составной тип данных в 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']


Кортежи в Python:

Кортеж это еще один составной тип данных, похожий на список. Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки ( ( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.

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


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:

Словари в 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. Иллюстрация № 6
Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.

Сеты в Python:

Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого является то, что он хранит только уникальные значания.

Создать сеты можно следующими способами:

1 | # Создание пустого сета

2 | s = set()

3 | # Создание сета инициализацией

4 | s = {"hi", "bye"}

Для добавление элемента в сет используется метод add, для удаления - pop или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference - возвращает элементы сета отсутствующие в