Итерируемый объект
Итерируемый объект – это любой объект, реализующий метод
Ниже перечислены некоторые из наиболее распространенных итерируемых объектов:
● кортежи;
● списки;
● строки;
● множества;
● словари;
● файлы;
● генераторы;
#теория | @PyMapChannel
Итерируемый объект – это любой объект, реализующий метод
iter() или getitem().
Цель итерируемого объекта – создать итератор. Для этого есть функция iter().
Ниже перечислены некоторые из наиболее распространенных итерируемых объектов:
● кортежи;
● списки;
● строки;
● множества;
● словари;
● файлы;
● генераторы;
#теория | @PyMapChannel
👍2
Строковые литералы
Строковые литералы – это представление строки, как фиксированной последовательности символов в коде, в то время как строка – это объект данных в Python, который содержит последовательность символов.
Символ обратной косой черты (\) используется для экранирования управляющих символов (например \n).
Строки могут начинаться с префиксов:
• r или R для создания необработанных (сырых) строк, которые обрабатывают обратную косую черту как символ литерала;
• u или U – устаревший литерал Юникода для упрощения обслуживания двух кодовых баз Python-2.x и Python-3.x;
• f или F для создания форматированных строк.
#теория | @PyMapChannel
Строковые литералы – это представление строки, как фиксированной последовательности символов в коде, в то время как строка – это объект данных в Python, который содержит последовательность символов.
В Python для создания строковых литералов можно использовать одинарные кавычки (') или двойные кавычки ("), а также группы из трех одинарных или двойных кавычек (''') или (""").
Символ обратной косой черты (\) используется для экранирования управляющих символов (например \n).
Строки могут начинаться с префиксов:
• r или R для создания необработанных (сырых) строк, которые обрабатывают обратную косую черту как символ литерала;
• u или U – устаревший литерал Юникода для упрощения обслуживания двух кодовых баз Python-2.x и Python-3.x;
• f или F для создания форматированных строк.
#теория | @PyMapChannel
🔥2
Различие между методом dict.get() и dict[key] в словарях
Метод словаря dict.get() вернет значение по умолчанию (если оно задано), или None, если значение по умолчанию не указано.
Обращение по ключу dict[key] вызовет исключение KeyError, если нужного ключа нет в словаре.
Таким образом, метод get() в словарях предоставляет безопасный способ получения значения по ключу, предотвращая возможные ошибки.
#теория #это_база | @PyMapChannel
Метод словаря dict.get() вернет значение по умолчанию (если оно задано), или None, если значение по умолчанию не указано.
Обращение по ключу dict[key] вызовет исключение KeyError, если нужного ключа нет в словаре.
Таким образом, метод get() в словарях предоставляет безопасный способ получения значения по ключу, предотвращая возможные ошибки.
#теория #это_база | @PyMapChannel
🔥5
Байтовые объекты
Байтовые объекты представляют собой последовательность байтов, которая хранит информацию в двоичном формате.
В Python байтовые объекты представлены типами данных bytes и bytearray. Различие заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.
Также в Python имеется тип данных memoryview, предоставляющий доступ к внутренним данным объекта, который поддерживает буферный протокол, без копирования.
Для создания байтовых объектов можно использовать байтовые литералы (синтаксис схож со строковыми литералами, за исключением того, что добавляется префикс "b").
В Python также существует модуль struct, который позволяет работать с байтовыми данными на низком уровне, осуществляя их упаковку и распаковку.
#теория | @PyMapChannel
Байтовые объекты представляют собой последовательность байтов, которая хранит информацию в двоичном формате.
В Python байтовые объекты представлены типами данных bytes и bytearray. Различие заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.
Также в Python имеется тип данных memoryview, предоставляющий доступ к внутренним данным объекта, который поддерживает буферный протокол, без копирования.
Для создания байтовых объектов можно использовать байтовые литералы (синтаксис схож со строковыми литералами, за исключением того, что добавляется префикс "b").
В Python также существует модуль struct, который позволяет работать с байтовыми данными на низком уровне, осуществляя их упаковку и распаковку.
Эти объекты часто используются для работы с бинарными файлами, сетевыми пакетами и другими данными, которые нужно представить в виде последовательности байтов.
#теория | @PyMapChannel
❤5
Модуль os
Предустановленный модуль os в Python предоставляет инструменты для взаимодействия с операционной системой.
С его помощью можно выполнять множество задач, таких как управление файлами и директориями, работа с процессами, а также получение информации о системе. Модуль также поддерживает работу с путями файловой системы через интерфейс os.PathLike, что делает его удобным для создания кросс-платформенных скриптов.
#теория | @PyMapChannel
Предустановленный модуль os в Python предоставляет инструменты для взаимодействия с операционной системой.
С его помощью можно выполнять множество задач, таких как управление файлами и директориями, работа с процессами, а также получение информации о системе. Модуль также поддерживает работу с путями файловой системы через интерфейс os.PathLike, что делает его удобным для создания кросс-платформенных скриптов.
Вот некоторые из основных функций модуля:
функция listdir()
функции getcwd() и getcwdb()
#теория | @PyMapChannel
👍3
Последовательность и коллекция в Python
Последовательности и коллекции являются ключевые понятиями в Python, служащими для структурирования и хранения информации.
Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.
#теория | @PyMapChannel
Последовательности и коллекции являются ключевые понятиями в Python, служащими для структурирования и хранения информации.
Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Примеры последовательностей: строки (str), списки (list), кортежи (tuple).
Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Примеры коллекций: словари (dict), множества (set, frozenset), в то же время и последовательности: строки (str), списки (list), кортежи (tuple).
Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.
#теория | @PyMapChannel
👍3
«Странное» поведение % в Python
Иногда это может давать «странный» результат при работе с отрицательными числами.
К примеру, сколько будет
В ответе будет:3 # вместо ожидаемого -1
Объяснение:
В Python оператор
Для вопроса выше выше:
В то время как другие языки используют усечение (int), вместо округления вниз (math.floor):
Что приводит к:
Ставьте «❤️»
#теория | @PyMapChannel
В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель.
Иногда это может давать «странный» результат при работе с отрицательными числами.
К примеру, сколько будет
-5 % 4 ?В ответе будет:
Объяснение:
В Python оператор
% работает следующим образомmod = n - math.floor(n / base) * base
Для вопроса выше выше:
mod = -5 - math.floor(-1.25) * 4
mod = -5 - (-2*4)
mod = 3
В то время как другие языки используют усечение (int), вместо округления вниз (math.floor):
mod = n - int(n / base) * base
Что приводит к:
mod = -5 - int(-1.25) * 4
mod = -5 - (-1*4)
mod = -1
Ставьте «❤️»
#теория | @PyMapChannel
❤5🤓2
Python Map | Обучение
«Странное» поведение % в Python В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель. Иногда это может давать «странный» результат при работе с отрицательными числами. К…
Такое поведение выбрано вместо поведения C, потому что неотрицательный результат часто более полезен.
Примером может служить вычисление дней недели. Если сегодня вторник (день № 2), какой день недели будет за N дней до этого? В Python мы можем вычислять с помощью:
Но в C, если N ≥ 3, мы получаем отрицательное число, которое является недопустимым числом, и нам нужно вручную исправить это, добавив 7:
#теория | @PyMapChannel
Примером может служить вычисление дней недели. Если сегодня вторник (день № 2), какой день недели будет за N дней до этого? В Python мы можем вычислять с помощью:
return (2 - N) % 7
Но в C, если N ≥ 3, мы получаем отрицательное число, которое является недопустимым числом, и нам нужно вручную исправить это, добавив 7:
int result = (2 - N) % 7;
return result < 0 ? result + 7 : result;
#теория | @PyMapChannel
👍1
Хранение атрибутов и методов в классах
В Python атрибуты и методы класса хранятся в специальном словаре, называемом
Кроме того, каждый экземпляр класса имеет свой собственный
🐍 Python Map | Обучение | #теория
В Python атрибуты и методы класса хранятся в специальном словаре, называемом
__dict__. Этот словарь является атрибутом класса и позволяет хранить все его атрибуты и методы в формате пар "ключ-значение". Каждый ключ соответствует имени атрибута или метода, а значение представляет собой сам объект.Кроме того, каждый экземпляр класса имеет свой собственный
__dict__, в котором хранятся атрибуты, специфичные для данного объекта. Это позволяет различным экземплярам одного класса иметь уникальные значения своих атрибутов, при этом общие методы и атрибуты класса остаются доступны для всех объектов.🐍 Python Map | Обучение | #теория
❤5👍1
Паттерны проектирования
Паттерны (шаблоны) проектирования — это проверенные решения для распространенных проблем в разработке программного обеспечения. Они упрощают проектирование и улучшают читаемость кода. Основные паттерны:
- Singleton (Одиночка): Обеспечивает единственный экземпляр класса с глобальной точкой доступа.
- Factory (Фабрика): Определяет интерфейс для создания объектов, позволяя изменять тип создаваемых объектов.
- Observer (Наблюдатель): Устанавливает зависимость "один ко многим", уведомляя зависимые объекты об изменениях.
- Strategy (Стратегия): Инкапсулирует семейство алгоритмов, позволяя их взаимозаменяемость.
🐍 Python Map | Обучение | #теория
Паттерны (шаблоны) проектирования — это проверенные решения для распространенных проблем в разработке программного обеспечения. Они упрощают проектирование и улучшают читаемость кода. Основные паттерны:
- Singleton (Одиночка): Обеспечивает единственный экземпляр класса с глобальной точкой доступа.
- Factory (Фабрика): Определяет интерфейс для создания объектов, позволяя изменять тип создаваемых объектов.
- Observer (Наблюдатель): Устанавливает зависимость "один ко многим", уведомляя зависимые объекты об изменениях.
- Strategy (Стратегия): Инкапсулирует семейство алгоритмов, позволяя их взаимозаменяемость.
🐍 Python Map | Обучение | #теория
👍2