Переменные могут хранить значения, и каждое значение имеет тип данных. 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.
- Числовой тип
- Тип последовательности
- Логический тип (Dictionary)
- Множество (Set)
- Словарь (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}