Основные типы данных

О типах данных по-быстрому

Цель этого подмодуля – по-быстрому рассказать о основных типах данных и дать их потрогать. Позже мы познакомимся с типами куда обстоятельнее.

Целые и вещественные числа

Числа – и в Африке числа. С ними можно производить арифметические действия. Всё просто:

2 + 2  # 4
3 + 2.5  # 5.5
6 / 2  # 3
2 ** 3  # 8

Решётка – это знак комментария в Питоне, а в этом туториале результат работы команды указан на той же строчке за комментарием.

Исправьте ошибку. Программа должна выводить число value в кубе.

value = 5 print(value * 3)

Строки

Помимо чисел в Питоне есть строки с богатым набором встроенных функций. С ними просто и удобно работать:

'hello'  # строковая константа
"hello"  # тип кавычек не имеет значения
hello[1]  # 'e'
'hello' + ' ' + 'world'  # 'hello world'
'blah ' * 3  # 'blah blah blah '

У них много встроенных функций:

'hello  '.strip()  # 'hello'
'hello world'.upper()  # 'HELLO WORLD'
len('hello')  # 5
'wor' in 'hello world'  # True (входит ли "wor" в строку "hello world")
'hello world'.startswith('hel')  # True (начинается ли  "hello world" c "hel")

Ещё можно превращать строку в список, список в строку, получать подстроку и по-разному форматировать значения, но об этом позже.

Список

Список – последовательность элементов. Ограничения на длину нет. Элементы могут быть разных типов, даже другими списками. Выглядит он так:

[1, 2, 3]  # в квадратных скобках, элементы через запятую
digits = [4, 5, 6]  # переменная, в которой живёт список
digits[0]  # 4 (нумерация с нуля)
digits[1] = 22  # теперь в списке digits на втором месте стоит 22
digits.append(8)  # а теперь в конец добавилась восьмёрка

Из списка надо часто получить подсписок: несколько первых элементов, последних, что-то из середины. Это называется срезами и позволяет делать много чего. Вот самые простые срезы:

squares = [1, 4, 9, 16, 25, 36, 49]
squares[1:3]  # [4, 9] (элементы со второго по третий)
squares[:4]  # [1, 4, 9, 16] (элементы с начала до четвёртого)
squares[4:]  # [25, 36, 49] (элементы с пятого до конца)
squares[1:6:2]  # [4, 16, 36] (элементы со второго до шестого с шагом два)