Понимание типов данных в Python 3

Введение

В Python, как и во всех языках программирования, используются типы данных для классификации конкретного типа данных. Это важно, потому что конкретный тип данных, который вы используете, определит, какие значения вы можете ему присвоить и что вы можете с ним делать (включая операции, которые вы можете выполнять с ним).

В этом руководстве мы рассмотрим важные типы данных, присущие Python. Это не исчерпывающее исследование типов данных, но поможет вам ознакомиться с тем, какие варианты у вас есть в Python.

Предварительные требования

У вас должен быть установлен Python 3 и настроена среда программирования на вашем компьютере или сервере. Если у вас нет настроенной среды программирования, вы можете обратиться к руководствам по установке и настройке для локальной среды программирования или для среды программирования на вашем сервере, соответствующей вашей операционной системе (Ubuntu, CentOS, Debian и т. д.).

Фон

Один из способов мыслить о типах данных – это рассматривать различные типы данных, которые мы используем в реальном мире. Примером данных в реальном мире являются числа: мы можем использовать целые числа (0, 1, 2, …), целые числа (…, -1, 0, 1, …), и иррациональные числа (π), например.

Обычно в математике мы можем объединять числа разных типов и получать какой-то ответ. Мы можем, например, хотеть добавить 5 к π:

5 + π

Мы можем либо оставить уравнение как ответ, чтобы учесть иррациональное число, либо округлить π до числа с небольшим количеством десятичных знаков и затем сложить числа вместе:

5 + π = 5 + 3.14 = 8.14 

Но если мы начнем пытаться вычислять числа с другим типом данных, таким как слова, вещи начнут иметь меньше смысла. Как мы решили бы следующее уравнение?

sky + 8

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

Числа

Любое число, которое вы вводите в Python, будет интерпретироваться как число; вам не нужно объявлять, какой тип данных вы вводите. Python будет рассматривать любое число, написанное без десятичных знаков, как целое число (как 138), а любое число, написанное с десятичными знаками, как число с плавающей запятой (как 138.0).

Целые числа

Как и в математике, целые числа в программировании это целые числа, которые могут быть положительными, отрицательными или равными нулю (…, -1, 0, 1, …). Целое число также может быть известно как int. Как и в других языках программирования, вы не должны использовать запятые в числах из четырех цифр и более, поэтому когда вы пишете 1,000 в вашей программе, запишите это как 1000.

Информация: Чтобы следовать примерам кода в этом руководстве, откройте интерактивную оболочку Python на вашей локальной системе, запустив команду python3. Затем вы можете копировать, вставлять или редактировать примеры, добавляя их после приглашения >>>.

Мы можем напечатать целое число так:

print(-25)
Output
-25

Или мы можем объявить переменную, которая в данном случае по существу является символом числа, которое мы используем или обрабатываем, так:

my_int = -25
print(my_int)
Output
-25

Мы также можем выполнять математические операции с целыми числами в Python:

int_ans = 116 - 68
print(int_ans)
Output
48

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

Числа с плавающей запятой

A floating-point number or a float is a real number, meaning that it can be either a rational or an irrational number. Because of this, floating-point numbers can be numbers that can contain a fractional part, such as 9.0 or -116.42. In general, for the purposes of thinking of a float in a Python program, it is a number that contains a decimal point.

Как мы делали с целыми числами, мы можем вывести число с плавающей запятой следующим образом:

print(17.3)
Output
17.3

Мы также можем объявить переменную, которая представляет собой число с плавающей запятой, так:

my_flt = 17.3
print(my_flt)
Output
17.3

И, так же, как с целыми числами, мы можем выполнять математические операции с числами с плавающей запятой в Python:

flt_ans = 564.0 + 365.24
print(flt_ans)
Output
929.24

При работе с целыми числами и числами с плавающей запятой важно помнить, что 3 ≠ 3.0, так как 3 относится к целому числу, в то время как 3.0 относится к числу с плавающей запятой.

Логические значения

Логический тип данных может принимать одно из двух значений, либо True, либо False. Логические значения используются для представления истинности, которая связана с логической ветвью математики, определяющей алгоритмы в информатике.

Каждый раз, когда вы видите тип данных Boolean, он будет начинаться с заглавной B, потому что он назван в честь математика Джорджа Буля. Значения True и False также всегда будут написаны с заглавной T и F соответственно, поскольку они являются специальными значениями в Python.

Многие операции в математике дают нам ответы, которые оцениваются как True или False:

  • больше чем
    • 500 > 100 True
    • 1 > 5 False
  • меньше чем
    • 200 < 400 True
    • 4 < 2 False
  • равно
    • 5 = 5 True
    • 500 = 400 False

Как и с числами, мы можем сохранить значение Boolean в переменной:

my_bool = 5 > 8

Затем мы можем напечатать значение Boolean с помощью вызова функции print():

print(my_bool)

Поскольку 5 не больше 8, мы получим следующий вывод:

Output
False

По мере того как вы будете писать больше программ на Python, вы станете более знакомы с тем, как работают булевы значения и как различные функции и операции, оцениваясь как True или False, могут изменить ход программы.

Строки

A string is a sequence of one or more characters (letters, numbers, symbols) that can be either a constant or a variable. Strings exist within either single quotes ' or double quotes " in Python, so to create a string, enclose a sequence of characters in quotes:

'This is a string in single quotes.'
"This is a string in double quotes."

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

Базовая программа “Привет, мир!” демонстрирует, как строка может быть использована в компьютерном программировании, так как символы, составляющие фразу Привет, мир!, являются строкой.

print("Hello, World!")

Как и с другими типами данных, мы можем хранить строки в переменных:

hw = "Hello, World!"

И вывести строку, вызвав переменную:

print(hw)
Ouput
Hello, World!

Как и числа, существует много операций, которые мы можем выполнять со строками в наших программах, чтобы манипулировать ими и достичь нужных результатов. Строки важны для передачи информации пользователю и для пользователя для передачи информации обратно программе.

Списки

A list is a mutable, or changeable, ordered sequence of elements. Each element or value that is inside of a list is called an item. Just as strings are defined as characters between quotes, lists are defined by having values between square brackets [ ].

A list of integers looks like this:

[-3, -2, -1, 0, 1, 2, 3]

A list of floats looks like this:

[3.14, 9.23, 111.11, 312.12, 1.05]

A list of strings:

['shark', 'cuttlefish', 'squid', 'mantis shrimp']

Если мы определим наш список строк как sea_creatures:

sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp']

Мы можем вывести его, вызвав переменную:

print(sea_creatures)

И вывод будет точно таким же, как список, который мы создали:

Output
['shark', 'cuttlefish', 'squid', 'mantis shrimp']

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

Кортежи

A tuple is used for grouping data. It is an immutable, or unchangeable, ordered sequence of elements.

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

A tuple looks like this:

('blue coral', 'staghorn coral', 'pillar coral')

Мы можем сохранить кортеж в переменной и вывести его:

coral = ('blue coral', 'staghorn coral', 'pillar coral')
print(coral)
Output
('blue coral', 'staghorn coral', 'pillar coral')

Как и в других типах данных, Python выводит кортеж так, как если бы мы его напечатали, с круглыми скобками, содержащими последовательность значений.

Словари

Словарь – это встроенный в Python тип данных, представляющий собой отображение. Это означает, что словари сопоставляют ключи с значениями, и эти пары ключ-значение являются удобным способом хранения данных в Python. Словарь создается с фигурными скобками по обе стороны { }.

Обычно используется для хранения связанных данных, таких как информация, содержащаяся в идентификаторе, словарь выглядит так:

{'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}

Вы заметите, что помимо фигурных скобок в словаре также присутствуют двоеточия. Слова слева от двоеточий являются ключами. Ключи могут состоять из любого неизменяемого типа данных. Ключи в указанном словаре: 'name', 'animal', 'color', 'location'.

Слова справа от двоеточий являются значениями. Значения могут быть любого типа данных. Значения в указанном словаре: 'Sammy', 'shark', 'blue', 'ocean'.

Как и другие типы данных, давайте сохраните словарь в переменной и выведем его:

sammy = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue',  'location': 'ocean'}
print(sammy)
Output
{'color': 'blue', 'animal': 'shark', 'name': 'Sammy', 'location': 'ocean'}

Если мы хотим изолировать цвет Сэмми, мы можем сделать это, вызвав sammy['color']. Давайте выведем это:

print(sammy['color'])
Output
blue

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

Заключение

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

Вы можете узнать о каждом из перечисленных выше типов данных более подробно, прочитав следующие конкретные учебники:

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

Source:
https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3