Skip to content

Python. Базовые типы данных ​

Что хранится в переменных ​

Недавно мы разобрались как правильно создавать и называть переменные. Теперь можно поговорить о том, что в них хранится. Важно сказать, что в данном уроке мы не рассмотрим вообще все, что может храниться в переменных - типов данных достаточно много и мы пройдем их в постепенно в дальнейших уроках. Сейчас давайте сконцентрируемся на базовых (или скалярных) типах данных.

Определение

Скалярные типы данных - это основные типы данных в языке. Все остальные так или иначе состоят из них.

Данные типы были существовали на самых ранних этапах развития программирования и с ними в основном вам и придется работать. Важно сказать, что про некоторые из них нужно говорить отдельно - они сложнее чем кажутся на первый взгляд.

Базовые типы ​

Всего можно выделить 4 базовых типа данных:

Про каждый из этих типов давайте поговорим отдельно

Целые числа ​

Целые числа - наверное самый простой для понимания тип. Мы работаем с ними когда что-либо подсчитываем или нумеруем, без них не будут работать циклы и списки.

Определение

Целые числа - числа без дробной части. В python их название - int

В отличии от других языков программирования в python нет отдельных типов под большие и маленькие числа - для всех них есть только один тип - int.

Также важно сказать, что отрицательные числа и 0 - тоже целые числа

Примеры

python
population = 7800000000  # Мировое население
temperature = -18  # Температура зимой
days_in_year = 365  # Количество дней в году
zero = 0 # Просто 0

Числа с плавающей точкой ​

Числа с плавающей точкой на самом деле ни что иное как числа с дробной частью. Они позволяют нам работать с числами разной точности, но не являются максимально точными.

Определение

Числа с плавающей точкой - числа с дробной частью (в математике они называются вещественными). В python их название - float

У чисел с плавающей точкой есть 2 формы записи:

  1. Обычная ​

Данная форма записи используется чаще всего. Не подходит для очень больших или маленьких чисел - запись получается длинная

python
pi = 3.14159  # Число π (пи)
average_grade = 4.75  # Средний балл студента
gravity = 9.81  # Ускорение свободного падения
  1. Научная ​

Данная же форма напротив - используется для более удобной записи маленьких и больших чисел.

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. Создать по 1 переменной каждого типа. Назвать их a, b, c, d
  2. Создать переменную age и положить туда возраст друга. Создать переменную permission, в которой бы хранилось, есть ли другу 14.
  3. Создать переменные hello со строкой "привет" и world с строкой "мир". Соединить их в новую переменную так, чтобы получилось "привет, мир". Также создать переменную l и вычислить длинну полученной строки

Постарайтесь не смотреть ответы пока не сделаете все 4 задания

Ответы к заданиям
python
a = 4 # Или любое целое число
b = 3.14 # Или любое число с пл. точкой
c = "Дерево" # Или любая другая строка
d = False = # Или True
python
age = 25 # Возраст друга
permission = age > 13 # Проходит
python
hello = "привет"
world = "мир"
result = hello + ", " + world