9.34M
Category: programmingprogramming

b62d9382-6fc7-401a-a7b0-f5e3e4f07f45

1.

Тема 2. Базовые объектные типы
языка Python и работа с ними
Введение в основные типы Python: int, float, bool, None и динамическая
типизация.

2.

Ключевые особенности:
1.
2.
3.
4.
5.
Динамическая типизация — тип определяется автоматически при присваивании.
Неизменяемость строк — для модификации создаётся новая строка.
Автоматическое управление памятью — Python сам выделяет и освобождает память.
Гибкость операций — например, строки можно умножать на числа.
Логические значения как числа — True и False ведут себя как 1 и 0 в арифметических операциях.
2

3.

Определение типа переменной в Python
Назначение функции type()
Функция type() позволяет определить тип любого
объекта или переменной в Python. Это важно для
понимания структуры данных, особенно в условиях
динамической типизации, когда типы переменных
могут меняться во время выполнения программы.
Практическое применение type()
Использование type() облегчает отладку кода,
обеспечивая правильное выполнение операций с
данными. Функция возвращает объект типа, что даёт
возможность проверять и сравнивать типы переменных
для предотвращения ошибок.
3

4.

Иерархическая структура типов данных Python
К базовым типам относятся:
пустое значение None, целые
числа (int), числа с плавающей
запятой (float) и логические
значения (bool).
Также важны строки (str), списки
(list) и словари (dict), обладающие
специфическими методами и
функционалом.
Типы делятся на встроенные
(built-in) и пользовательские, что
обеспечивает гибкость и
расширяемость языка.
Для углубления по типам всегда
доступна официальная
документация Python, где
подробно описаны свойства и
методы каждого типа.
4

5.

Основные типы данных Python
Обзор четырех ключевых типов с их особенностями и
примерами.
Понимание базовых типов и их особенностей позволяет
эффективно использовать Python для решения
различных задач.
Официальная документация Python
5

6.

Примеры преобразования типов и классификация
Преобразование типов
Для преобразования типов Python использует
встроенные функции: int(), float(), str(), bool().
Например, int("123") возвращает 123, а bool(1) — True.
При преобразовании строк в числа важна корректность
содержимого, иначе возникает ошибка.
Классификация типов данных
Типы делятся на простые (int, float, bool, None) и
составные (списки, словари). Также выделяют
изменяемые и неизменяемые типы, что влияет на
возможности модификации объектов во время
выполнения.
6

7.

Динамическая типизация в Python
В Python тип переменной определяется во время выполнения, что позволяет резко менять
значения и типы без явного указания.
Сильная типизация предотвращает автоматическое неявное преобразование, например,
сложение числа и строки вызовет ошибку.
None обозначает отсутствие значения. Тип переменной не нужно объявлять — Python
делает это самостоятельно.
7

8.

Булевы значения (bool) и None
Bool — примитивный тип с двумя значениями: True (1) и False (0), активно используемый для
условий и логики.
Bool является подтипом int, поэтому сравнения True==1 и False==0 возвращают True.
При проверках любое ненулевое число, непустая строка или контейнер считаются True, а 0,
пустые и None — False.
Основные логические операции: not — отрицание, and — логическое И, or — логическое
ИЛИ, позволяющие создавать сложные условия.
8

9.

Примеры преобразования в bool:
Любое ненулевое число, непустая строка или список при
преобразовании дают True, например, bool(5) и bool("Hello")
возвращают True.
Ноль, пустая строка, пустой список или словарь, а также None
приводятся к False, например, bool(0) и bool([]) вернут False.
9

10.

Задача 2: расчёт
периметра футбольного
поля
None — уникальный объект, обозначающий отсутствие
значения; он единственный в Python и не равен False,
хотя в булевых проверках ведёт себя как False.
Часто используется для инициализации переменных
или в функциях без возвращаемого значения.
Проверять на None нужно оператором is, а не ==.
10

11.

Примеры использования None:
Значение None широко применимо для инициализации
переменных, когда значение ещё не задано, служит индикатором
отсутствия результата в функциях без явного return.
В качестве параметра по умолчанию функции могут принимать
None, позволяя гибко управлять поведением в зависимости от
переданных аргументов, как в примере с приветствием по имени
или без него.
11

12.

Отличие None от пустых значений:
None представляет концепцию отсутствия значения, в отличие от
пустых контейнеров, которые существуют, но не содержат
данных, например пустая строка, список или словарь.
Для надёжной проверки на None используют оператор is,
поскольку равенство через == менее надёжно; None при
приведении к bool равен False, но арифметические операции
недопустимы.
12

13.

Целые числа. Арифметические операции
Документация Python по типу int и арифметическим операциям
Тип int хранит целые числа без ограничений размера в Python 3.
Создание переменной — простое присваивание числа. Пример
работы с значениями и базовыми операциями.
Целые числа в Python поддерживают базовые арифметические
операции, позволяя легко реализовывать математические
вычисления в программах.
13

14.

Примеры применения:
Сложение, Вычитание, Умножение, Возведение в степень.
Сложение чисел осуществляется
оператором +, результатом
является сумма значений,
например, 5 + 5 даёт 10, тип
результата — int.
Вычитание реализуется
операцией -, позволяющей
вычислить разницу между
числами, например, 10 - 5 равно 5
с типом int.
Умножение через оператор *
возвращает произведение двух
чисел, как 5 * 5, дающее 25, также
типа int.
Возведение в степень
обозначается оператором **,
например, 5 ** 2 равно 25,
результат сохраняется как целое
число.
14

15.

Задача 1. Найти периметр прямоугольной комнаты со
сторонами 6 и 3 метра.
Анализ методов
Вывод результата
Инициализация параметров
Вычисление периметра
Объявляем переменные length и
width равными 6 и 3 соответственно
для обозначения размеров комнаты.
Применяем формулу периметра
P=2×(length+width), вычисляя сумму
сторон и умножая на 2.
Печатаем значение периметра,
полученное в результате
вычислений, для демонстрации
решения задачи.
Сравниваем варианты решения с
использованием переменных и
прямых чисел, отмечая
предпочтение первому из-за
читаемости кода и отсутствия
"магических чисел".
15

16.

Задача 2. Целочисленное деление и остаток от деления.
Сколько полных дней и часов в 5000 часах?
Используем константу HOURS_IN_DAY=24 для определения количества часов в сутках, чтобы обеспечить
ясность и удобство изменений при необходимости.
Применяем оператор // для вычисления полного
числа дней, деля общее количество часов на
количество часов в дне целочисленно.
Используем оператор % для определения
оставшихся часов, являющихся остатком от
деления общего времени на 24.
16

17.

1.
Комбинированные операторы присваивания
Комбинированные операторы, такие как +=,
позволяют упростить код, объединяя
арифметическую операцию и присваивание
в одну конструкцию.
Пример с переменной money демонстрирует
увеличение значения на сумму add без
повторного упоминания переменной для
присваивания.
Такие операторы делают код лаконичнее и
более читаемым, минимизируя вероятность
ошибок при обновлении значений.
17

18.

3549,38 кг
Общий расход сырья на
производство с учётом потерь,
рассчитанный с использованием
вещественных чисел.
Параметры включают норму расхода на изделие,
количество изделий и процент производственных потерь.
Результат демонстрирует практическое применение чисел с
плавающей точкой в инженерных расчетах.
Результаты расчётов по лабораторной работе 2
18

19.

Пример применения
В Python вещественные числа представлены типом float, используемым для хранения
дробных значений с десятичной точкой, например, 0.1 или -10.312312.
Создание переменных с float ничем не отличается от int, кроме обязательного
использования точки как десятичного разделителя.
Операция деления / всегда возвращает число типа float, даже если деление целочисленное,
что удобно для точных вычислений.
19

20.

Примечание о вещественных числах и округлении
Погрешности при работе с float
Функция round для округления
При сложении чисел с плавающей точкой могут
возникать неточные результаты из-за бинарного
представления, например, сумма десяти раз 0.1
примерно равна 0.9999999999999999, а не точной 1.
Команда round позволяет округлять числа до
заданного количества десятичных знаков: round(1.6)
даст 2, а round(2.47, 1) вернёт 2.5, причем результат
сохраняет тип float или int в зависимости от
аргументов.
20

21.

Задача 9: расчёт загрузки производственных мощностей
При делении в Python результат всегда будет числом с плавающей запятой, даже при
делении без остатка. Это связано с особенностями представления чисел типа float.
Вещественные числа поддерживают все базовые арифметические операции, аналогично
целым числам. Например, выражение 0.1 + 0.1 * 5 даст 0.6, что демонстрирует порядок
вычислений и приоритеты операций.
При сложении десятикратного значения 0.1 мы получаем результат, близкий к 1, но с
отклонением из-за ограничений точности представления float: 0.9999999999999999.
Умножение 0.1 на 10 даст точный 1.0.
Для более точных вычислений используют типы данных Decimal или Fraction. Функция
round() позволяет округлять числа, принимая число и необязательный параметр количества
знаков после запятой.
21

22.

Синтез: роль базовых типов данных и
арифметики в проектировании на
Python
Знание и правильное применение базовых типов данных — int, float, bool и
None, а также арифметических операций — обеспечивает надежность,
точность и эффективность решения различных инженерных и финансовых
задач на Python.
English     Русский Rules