Содержание

Типы данных в Python

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

a = 5 

Переменная a содержит целочисленное значение пять, и мы не определили ее тип. Интерпретатор Python автоматически интерпретирует переменную a как целочисленный тип.

Python позволяет нам проверить тип переменной, используемой в программе. Python предоставляет нам функцию type(), которая возвращает тип переданной переменной.

Рассмотрим следующий пример для определения значений различных типов данных и проверки их типа.

a=10  
b="Hi Python"  
c = 10.5  
print(type(a))  
print(type(b))  
print(type(c))  

Вывод:

<type 'int'>
<type 'str'>
<type 'float'>

Переменная может содержать различные типы значений. Например, имя человека должно храниться как строка, а его id — как целое число.

Python предоставляет различные стандартные типы данных, которые определяют метод хранения каждого из них. Ниже приведены типы данных, определенные в Python.

  1. Числовой тип
  2. Тип последовательности
  3. Логический тип (Dictionary)
  4. Множество (Set)
  5. Словарь (Dictionary)

В этом разделе учебника мы дадим краткое представление о перечисленных выше типах данных.

Числовой тип

Number хранит числовые значения. Целочисленные, плавающие и комплексные значения относятся к типу данных

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

Python создает объекты Number, когда переменной присваивается число. Например;

a = 5  
print("The type of a", type(a))  
  
b = 40.5  
print("The type of b", type(b))  
  
c = 1+3j  
print("The type of c", type(c))  
print(" c is a complex number", isinstance(1+3j,complex))  

Вывод:

The type of a <class 'int'>
The type of b <class 'float'>
The type of c <class 'complex'>
c is complex number: True

Python поддерживает три типа числовых данных.

  • Int — Целое значение может быть любой длины, например, целые числа 10, 2, 29, -20, -150 и т.д. В Python нет ограничений на длину целого числа.
  • Float — Float используется для хранения чисел с плавающей точкой, таких как 1.9, 9.902, 15.2 и т.д. Оно имеет точность до 15 знаков после запятой.
  • complex — Комплексное число содержит упорядоченную пару, т.е. x + iy, где x и y обозначают действительную и мнимую части, соответственно. Например, 2.14j, 2.0 + 2.3j и т.д.

Тип последовательности в Python

Строка

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

Работа со строками в Python является простой задачей, поскольку Python предоставляет встроенные функции и операторы для выполнения операций над строкой.

В случае работы со строками оператор + используется для конкатенации двух строк, так как операция

"hello "+" python" возвращает "hello python".

Оператор * известен как оператор повторения, поскольку операция "Python" \*2 возвращает 'Python Python'.

Следующий пример иллюстрирует строку в Python.

Пример — 1

str = "string using double quotes"  
print(str)  
s = '''''A multiline 
string'''  
print(s)  

Вывод:

string using double quotes
A multiline
string

Пример — 2

str1 = 'hello javatpoint' #string str1    
str2 = ' how are you' #string str2    
print (str1[0:2]) #printing first two character using slice operator    
print (str1[4]) #printing first two character using slice operator
print (str1*2) #printing the string twice    
print (str1 + str2) #printing the concatenation of str1 and str2

Вывод:

he
o
hello javatpointhello javatpoint
hello javatpoint how are you
Список

Списки (List) в Python похожи на массивы в C. Однако список может содержать данные разных типов. Элементы, хранящиеся в списке, разделяются запятой , и заключаются в квадратные скобки [].

Мы можем использовать операторы slice : для доступа к данным списка. Оператор конкатенации

+ и оператор повторения \* работают со списком так же, как и со строками.

Рассмотрим следующий пример.

list1  = [1, "hi", "Python", 2]    
#Checking type of given list  
print(type(list1))  
  
#Printing the list1  
print (list1)  
  
# List slicing  
print (list1[3:])  
  
# List slicing  
print (list1[0:2])   
  
# List Concatenation using + operator  
print (list1 + list1)  
  
# List repetation using * operator  
print (list1 * 3)  

Вывод:

[1, 'hi', 'Python', 2]
[2]
[1, 'hi']
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
Кортежи

Кортеж (Tuple)

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

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

Рассмотрим простой пример кортежа.

tup  = ("hi", "Python", 2)    
# Checking type of tup  
print (type(tup))    
  
#Printing the tuple  
print (tup)  
  
# Tuple slicing  
print (tup[1:])    
print (tup[0:1])    
  
# Tuple concatenation using + operator  
print (tup + tup)    
  
# Tuple repatation using * operator  
print (tup * 3)     
  
# Adding value to tup. It will throw an error.  
t[2] = "hi"  

Вывод:

<class 'tuple'>
('hi', 'Python', 2)
('Python', 2)
('hi',)
('hi', 'Python', 2, 'hi', 'Python', 2)
('hi', 'Python', 2, 'hi', 'Python', 2, 'hi', 'Python', 2)
Traceback (most recent call last):
  File "main.py", line 14, in <module>
    t[2] = "hi";
TypeError: 'tuple' object does not support item assignment
Словарь

Словарь (Dictionary) — это неупорядоченный набор элементов, состоящий из пары ключ-значение.

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

Элементы словаря разделяются запятой , и заключаются в фигурные скобки {}.

Рассмотрим следующий пример.

d = {1:'Jimmy', 2:'Alex', 3:'john', 4:'mike'}     
  
# Printing dictionary  
print (d)  
  
# Accesing value using keys  
print("1st name is "+d[1])   
print("2nd name is "+ d[4])    
  
print (d.keys())    
print (d.values())  

Вывод:

1st name is Jimmy
2nd name is mike
{1: 'Jimmy', 2: 'Alex', 3: 'john', 4: 'mike'}
dict_keys([1, 2, 3, 4])
dict_values(['Jimmy', 'Alex', 'john', 'mike'])
Логический тип

Тип Boolean предоставляет два встроенных значения, True и False. Эти значения используются для определения истинности или ложности данного утверждения. Они обозначаются классом bool. True может быть представлено любым ненулевым значением или 'T', в то время как false может быть представлено 0 или 'F'. Рассмотрим следующий пример.

# Python program to check the boolean type  
print(type(True))  
print(type(False))  
print(false)  

Вывод:

<class 'bool'>
<class 'bool'>
NameError: name 'false' is not defined
Множество (Set)

Set (Множество) в Python — это неупорядоченная коллекция типа данных. Она итерируема, мутабельна (может изменяться после создания) и имеет уникальные элементы. В set порядок элементов не определен; он может возвращать измененную последовательность элемента. Набор создается с помощью встроенной функции set(), либо последовательность элементов передается в фигурных скобках и разделяется запятой. Он может содержать различные типы значений. Рассмотрим следующий пример.

# Creating Empty set  
set1 = set()  
  
set2 = {'James', 2, 3,'Python'}  
  
#Printing Set value  
print(set2)  
  
# Adding element to the set  
  
set2. add(10)  
print(set2)  
  
#Removing element from the set  
set2.remove(2)  
print(set2)  

Вывод:

{3, 'Python', 'James', 2}
{'Python', 'James', 3, 2, 10}
{'Python', 'James', 3, 10}

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