Тема
Python. Базовые типы данных
Что хранится в переменных
Недавно мы разобрались как правильно создавать и называть переменные. Теперь можно поговорить о том, что в них хранится. Важно сказать, что в данном уроке мы не рассмотрим вообще все, что может храниться в переменных - типов данных достаточно много и мы пройдем их в постепенно в дальнейших уроках. Сейчас давайте сконцентрируемся на базовых (или скалярных) типах данных.
Определение
Скалярные типы данных - это основные типы данных в языке. Все остальные так или иначе состоят из них.
Данные типы были существовали на самых ранних этапах развития программирования и с ними в основном вам и придется работать. Важно сказать, что про некоторые из них нужно говорить отдельно - они сложнее чем кажутся на первый взгляд.
Базовые типы
Всего можно выделить 4 базовых типа данных:
Про каждый из этих типов давайте поговорим отдельно
Целые числа
Целые числа - наверное самый простой для понимания тип. Мы работаем с ними когда что-либо подсчитываем или нумеруем, без них не будут работать циклы и списки.
Определение
Целые числа - числа без дробной части. В python их название - int
В отличии от других языков программирования в python нет отдельных типов под большие и маленькие числа - для всех них есть только один тип - int.
Также важно сказать, что отрицательные числа и 0 - тоже целые числа
Примеры
python
population = 7800000000 # Мировое население
temperature = -18 # Температура зимой
days_in_year = 365 # Количество дней в году
zero = 0 # Просто 0Числа с плавающей точкой
Числа с плавающей точкой на самом деле ни что иное как числа с дробной частью. Они позволяют нам работать с числами разной точности, но не являются максимально точными.
Определение
Числа с плавающей точкой - числа с дробной частью (в математике они называются вещественными). В python их название - float
У чисел с плавающей точкой есть 2 формы записи:
Обычная
Данная форма записи используется чаще всего. Не подходит для очень больших или маленьких чисел - запись получается длинная
python
pi = 3.14159 # Число π (пи)
average_grade = 4.75 # Средний балл студента
gravity = 9.81 # Ускорение свободного паденияНаучная
Данная же форма напротив - используется для более удобной записи маленьких и больших чисел.
python
a = 2.5e2 # 2.5 * 10^2 = 250
b = 12.5e-3 # 1.2 * 10^-3 = 0.0125Точки!
Обратите большое внимание на то что числа с плавающей точкой пишутся всегда С ТОЧКОЙ. Запятая в python означает совсем другое (последовательность элементов).
Еще одна важная особенность чисел с плавающей точкой - они имеют ограниченную точность и могут давать ошибки при округлении или долгих операциях над ними.
python
print(0.1 + 0.2) # Результат будет 0.30000000000000004 из-за ошибки округленияИменно поэтому в ситуациях, где нужна повышенная точность (например точные физические рассчеты) используется специальный модуль для точных чисел - decimal. Про него мы поговорим позже, но пока что достаточно знать о том, что для точных вычислений лучше использовать его.
Строки
Строка - последовательность символов, обычно представляющая из себя некий текст. Помимо букв это также могуи быть цифры, пробелы, знаки препинаниня и другие символы.
Определение
Строка - последовательность символов, которая может содержать буквы, цифры и знаки включая пробелы. В python их название - str
Технически строка не является скалярным типом, ведь ее можно перебрать и разобрать на символы. В других языках, таких как C++ есть тип char, обозначающий символ - вот его то и можно в полной мере назвать скалярным. Но в python нет отдельного типа для символов, поэтому назовем строку тоже базовым типом.
Записывается строка с помощью кавычек, причём можно использовать 3 вида - одинарные ('), двойные (") или тройные (""" и ''').
python
a = "Я строка"
b = 'Я тоже строка, но с цифрами 12345'
c = '''
Я
многострочная
строка
с !?!?!:)
'''Из примеров выше видно, что строки бывают очень разнообразными
Строка является неизменяемой. Это означает что изменить какой-либо символ или слово в исходной строке не получится, но можно создать новую на основе предыдущей.
У строк есть очень много различных функций, но сейчас нам важно знать несколько особенно важных действий.
Конкатенация
Определение
Конкатенация - соединение нескольких строк в одну
Пример
python
greet = "Привет"
name = "Иван"
message = greet + ", " + name # Привет, ИванКонкатенация используется, когда нам нужно получить новую строку из некоторых "кусочков". Тогда мы соединяем их с помощью +.
Длина
Определение
Длинной строки называют количество её символов.
Длину строки можно вычислить функцией len()
python
text = "Привет!"
text_len = len(text) # 7Крайне полезная операция, используется во многих ситуациях.
Логические значения
Логические значения - это тип, которая помогает компьютеру понимать и обрабатывать понятия "истина" и "ложь", как это делает человек.
С типами, которые были выше мы сталкиваемся регулярно - человеку каждый день необходимо работать с текстом и числами. С другой стороны думаем мы не только текстом и числами. Если говорить про наше мышление, то становится понятно что мы принимаем решения на основе того, выполняются или же не выполняются какие-либо условия.
Например, мы можем подумать - "Если на улице идет дождь - нужно взять зонт". Здесь мы оцениваем погоду и если видим, что идет дождь - принимаем решение взять с собой зонт. По сути мы проверяем утверждение "Идет дождь" на истинность. Если утверждение истино - мы берем зонт, ложно - не берем. В программировании мы используем логические значения и операторы для того же самого - для принятия решений на основе определенных условий.
Определение
Логические (булевые) значения - тип, который может иметь только два значения: истину (True) или ложь (False). В python их название - bool
Логические значения можно использовать в разных ситуациях. Например чтобы обозначить, включено что-либо или выключено.
python
light = True # Свет включен
conditioner = False # Кондиционер выключенЛогические значения можно получить в результате выполнения логических операций (операторов) - про них вы прочитаете в ближайших уроках. Пока что важно знать, что > - одна из таких операций.
python
temperature = 25 # Температура
is_weather_good = temperature < 30 # Ниже ли температура 30 (True)Этот тип данных назван в честь математика и логика Джорджа Буля, который в 19 веке разработал булеву алгебру. Эта алгебра основана на логических операциях и принципах двоичной логики. Без принципов булевой алгебры невозможна логика, математика, программирование и даже философия - с её помощью можно записывать и анализировать любые логические цепочки так, как будто это уравнения. Если вы учитесь в школе, то обычно булеву алгебру проходят в 9-10 классе и задачи по ней включены в ЕГЭ по информатике.
Практика
Попробуйте написать функцию greet_with_age(name, age), которая принимает строку и целое число и объединяет их в одну строку - на практике покажет, как разные типы данных работают вместе.
Итог
Скалярные типы данных - это те базовые блоки, из которых в последствии будут строиться более сложные и интересные типы данных. Без них невозможна никакая программа, поэтому знать их очень важно. Под тестом к данному уроку будут задания для закрепления. В дальнейших уроках вы научитесь различным операциям с этими типами, а сейчас можно пройти тест по этому крупному уроку и переходить к следующей теме - Ввод и вывод
Тест по теме
Базовые типы данных
Что такое скалярные типы данных?
Какой из приведенных типов данных не является скалярным?
Как называется тип данных для представления целых чисел в Python?
Чем отличаются числа с плавающей точкой от целых чисел?
Что такое логические значения в Python?
Какой тип данных используется для представления дробных чисел в Python?
Как узнать длину строки
Какой символ НЕ используется для создания строк в python
Что будет результатом выражения `20 > 30`?
Какой оператор используется для объединения двух строк?
Задания
- Создать по 1 переменной каждого типа. Назвать их
a,b,c,d - Создать переменную
ageи положить туда возраст друга. Создать переменнуюpermission, в которой бы хранилось, есть ли другу 14. - Создать переменные
helloсо строкой "привет" иworldс строкой "мир". Соединить их в новую переменную так, чтобы получилось "привет, мир". Также создать переменную l и вычислить длинну полученной строки
Постарайтесь не смотреть ответы пока не сделаете все 4 задания
Ответы к заданиям
python
a = 4 # Или любое целое число
b = 3.14 # Или любое число с пл. точкой
c = "Дерево" # Или любая другая строка
d = False = # Или Truepython
age = 25 # Возраст друга
permission = age > 13 # Проходитpython
hello = "привет"
world = "мир"
result = hello + ", " + world