Похожие презентации:
1.3 Презентация
1.
ПРОГРАММИРОВАНИЕ НА Python2.
Модуль 1. Введение в PythonТема 1.3 Базовые типы данных
3.
Содержание1. Типы данных в Python
2. Изменяемые и неизменяемые типы
4.
Тема 1.3 Базовые типы данных1. Типы данных в Python
5.
Базовые типы данных в PythonБазовые типы данных в Python представлены в таблице. Кроме того, много дополнительных типов добавляется
при использовании модулей. Можно и самим писать свои типы при необходимости!
6.
Базовые типы данных в PythonТакже в Python есть специфический тип NoneType.
Его представитель - единственный объект None.
В Python не бывает отсутствия значения - это всегда объект None.
7.
Тема 1.3 Базовые типы данных2. Изменяемые и неизменяемые типы
8.
Изменяемые и неизменяемые типыВ Python типы данных делятся на изменяемые (от англ. mutable) и неизменяемые (от англ. immutable).
Это различие имеет важное значение для понимания поведения объектов в языке и управления памятью.
9.
Неизменяемые типы10.
Неизменяемые типыНеизменяемые типы данных — это объекты, которые не могут быть изменены после их создания.
Если вы пытаетесь изменить неизменяемый объект, Python создает новый объект с измененным значением.
К основным неизменяемым типам относятся:
● Числа:
○
○
○
целые (int);
числа с плавающей точкой (float);
комплексные числа (complex).
● Строки;
● Кортежи.
11.
Неизменяемые типы: числаПри выполнении операции x = 5, если вы затем выполните x += 1, Python создаст новый объект со
значением 6:
x = 5
print("x =", x, id(x))
x += 1
print("x =", x, id(x))
Кроме того, можно совершенно случайно угадать и использовать имя уже существующей функции Python в
качестве имени переменной. Естественно, функцию после этого использовать не удастся:
input = 15
print(input)
a = input()
12.
Преобразование типов: числаНекоторые типы можно привести к числовым с применением соответствующих функций:
int();
float();
complex(),
например, строки, если они состоят из "подходящих" символов:
s = "6.22e-23"
print("s =", s, type(s))
f = float(s)
print("f =", f, type(f))
13.
Неизменяемые типы: строкиСтроки (str) представляют собой упорядоченные последовательности символов.
В отличие от многих других языков программирования, в Python нет специального базового типа данных для
отдельного символа. Символ в Python - это просто строка, состоящая из ровно одного символа. У строки есть
длина, которая измеряется функцией len().
Строки также являются неизменяемыми. Любая операция, которая кажется изменяющей строку, на самом деле
создает новую строку.
Например, s = "hello" и конкатенация s = s + " world" создаст новый объект строки.
s = "hello"
print("s =", s, id(s))
s = s + " world"
print("s =", s, id(s))
14.
Неизменяемые типы: строкиКогда в коде встречается последовательность символов, которые заключены в одинарные («'») или двойные
кавычки («"»), то их называют строковым литералом.
Любой объект Python можно преобразовать в тип str. Так происходит потому, что существует стандартный
"магический" метод __str__(), который отвечает за это преобразование.
Он получает объект - число, коллекцию, функцию, словом, абсолютно любой объект Python и возвращает строку.
Каждый класс объектов или тип данных может содержать свою реализацию этого метода, поэтому работает он
для каждого типа по своему.
Например, для числовых типов он просто возвращает то же самое число, но уже в виде строки:
a = 10
print("a =", a, type(a))
s = str(a)
print("s =", s, type(s))
Другие объекты
информацию:
могут
print(str(print))
<built-in function print>
сообщить
о
себе
дополнительную
15.
Неизменяемые типы: кортежиКортежи (tuple) — это неизменяемые последовательности, которые могут содержать элементы разных типов.
Например, кортеж t = (1, 2, 3) не может быть изменен после создания:
t = (1, 2, 3)
t[0] = 0
Кортежи являются коллекциями, то есть они служат для организации хранения и обработки данных. Доступ к
элементу кортежа может осуществляться по индексу, указываемому после имени кортежа в квадратных скобках
«[]». Индексы обязательно должны быть целыми числами int. Индексация в Python начинается с 0:
print(t[1])
Среди базовых неизменяемых типов также числится и frozenset - это неизменяемая версия множества (set).
Она не позволяет добавлять или удалять элементы после создания.
16.
Неизменяемые типы17.
Изменяемые типыИзменяемые типы данных — это объекты, которые могут быть изменены после их создания.
Это означает, что вы можете изменять содержимое объекта без создания нового. К основным изменяемым
типам относятся:
● Списки;
● Множества;
● Словари.
18.
Изменяемые типы: спискиСписки (list) могут изменяться, что позволяет добавлять, удалять и изменять элементы.
Например, lst = [1, 2, 3] и lst.append(4) изменит существующий объект списка:
lst = [1, 2, 3]
print(lst, id(lst))
lst.append(4)
print(lst, id(lst))
Списки также, как и кортежи, предоставляют доступ к элементам по индексу::
lst[0] = 0
print(lst)
19.
Преобразование типов: спискиСписки, кортежи и другие коллекции в Python, как, впрочем, и строки, являются переборными объектами
Iterable. Это означает, что их элементы можно перебирать в цикле FOR EACH, о котором мы поговорим
позже.
Преобразовать к списку можно многие объекты, содержащие последовательности или коллекции элементов.
Интересно то, что строка с точки зрения Python - это последовательность символов, а значит преобразование
строки в список будет следующим:
s = "Python"
print("s =", s, type(s))
lst = list(s)
print("lst =", lst, type(lst))
Это позволяет удобно разбирать числа на цифры:
number = 12345
lst = list(str(number))
print(lst)
20.
Изменяемые типы: словариСловари (dict) хранят в себе данные в виде пары <ключ>: <значение>.
Доступ к данным осуществляется по ключу.
Словари также являются изменяемыми. Вы можете добавлять, изменять и удалять пары ключ-значение.
Например, d = {'a': 1} и d['b'] = 2 изменит существующий объект словаря:
d = {'a': 1}
print(d, id(d))
d['b'] = 2
print(d, id(d))
print(d['a'])
21.
Изменяемые типы: множестваМножества (set) — это изменяемые коллекции уникальных элементов. Вы можете добавлять и удалять
элементы из множества:
s = {1,2,3,4,5}
print(s, id(s))
s.add(6)
print(s, id(s))
Главной особенностью множеств является то, что они могут содержать только уникальные элементы, поэтому
множества часто используют именно для того, чтобы эти уникальные элементы получить из какой-либо
последовательности с повторами.
22.
Хранение в памятиИзменяемые и неизменяемые объекты хранятся в памяти по-разному. Неизменяемые объекты, как правило,
хранятся в памяти в виде единого блока, и при создании нового объекта с измененным значением Python
выделяет новый блок памяти. Это может привести к большему потреблению памяти, если вы часто создаете
новые объекты.
Изменяемые объекты, с другой стороны, могут изменяться на месте, что позволяет экономить память. Например,
при добавлении элемента в список Python просто изменяет внутреннее представление списка, не создавая
новый объект.
Понимание различий между изменяемыми и неизменяемыми типами данных в Python имеет важное значение
для эффективного программирования. Это знание помогает избежать неожиданных ошибок и оптимизировать
использование памяти. Выбор между изменяемыми и неизменяемыми типами зависит от конкретных задач и
требований к производительности.
23.
О массивах в PythonСреди базовых типов Python нет привычных для других языков программирования массивов.
Вместо них мы будем использовать списки. Списки - это упорядоченные последовательности элементов, доступ к
которым возможен по индексу, как и в массивах. Далее мы познакомимся с ними поближе. Списки относятся к
изменяемым типам данных, то есть, изменяя элемент списка Python не станет создавать новый объект в другой
области памяти.
А пока достаточно знать, как создать список и обратиться к его элементам:
my_list = ['One', 'Two', 'Three']
print(my_list)
print(my_list[1])
Поскольку сама идеология языка Python - это модульность и возможность расширения, не исключая и типы
данных, массивы можно использовать, подключив соответствующие модули (например array, numpy и др.).
24.
© Московский физико-технический институт2025
Программирование