Python Map | Обучение
240 subscribers
197 photos
4 videos
1 file
86 links
Образовательный канал для программистов на Python 🐍

Сотрудничество – @HackingIP
Download Telegram
Итерируемый объект

Итерируемый объект – это любой объект, реализующий метод iter() или getitem().

Цель итерируемого объекта – создать итератор. Для этого есть функция iter().


Ниже перечислены некоторые из наиболее распространенных итерируемых объектов:
кортежи;
● списки;
● строки;
множества;
словари;
файлы;
генераторы;

#теория | @PyMapChannel
👍2
Строковые литералы

Строковые литералы – это представление строки, как фиксированной последовательности символов в коде, в то время как строка – это объект данных в 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
🔥5
Байтовые объекты

Байтовые объекты представляют собой последовательность байтов, которая хранит информацию в двоичном формате.

В Python байтовые объекты представлены типами данных bytes и bytearray. Различие заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.

Также в Python имеется тип данных memoryview, предоставляющий доступ к внутренним данным объекта, который поддерживает буферный протокол, без копирования.

Для создания байтовых объектов можно использовать байтовые литералы (синтаксис схож со строковыми литералами, за исключением того, что добавляется префикс "b").

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

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


#теория | @PyMapChannel
5
Модуль os

Предустановленный модуль os в Python предоставляет инструменты для взаимодействия с операционной системой.

С его помощью можно выполнять множество задач, таких как управление файлами и директориями, работа с процессами, а также получение информации о системе. Модуль также поддерживает работу с путями файловой системы через интерфейс os.PathLike, что делает его удобным для создания кросс-платформенных скриптов.

Вот некоторые из основных функций модуля:

функция listdir()
функции getcwd() и getcwdb()


#теория | @PyMapChannel
👍3
Последовательность и коллекция в Python

Последовательности и коллекции являются ключевые понятиями в Python, служащими для структурирования и хранения информации.

Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Примеры последовательностей: строки (str), списки (list), кортежи (tuple).


Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Примеры коллекций: словари (dict), множества (set, frozenset), в то же время и последовательности: строки (str), списки (list), кортежи (tuple).


Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.

#теория | @PyMapChannel
👍3
«Странное» поведение % в Python

В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель.

Иногда это может давать «странный» результат при работе с отрицательными числами.

К примеру, сколько будет -5 % 4 ?
В ответе будет: 3 # вместо ожидаемого -1

Объяснение:
В 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 мы можем вычислять с помощью:
return (2 - N) % 7


Но в C, если N ≥ 3, мы получаем отрицательное число, которое является недопустимым числом, и нам нужно вручную исправить это, добавив 7:
int result = (2 - N) % 7;
return result < 0 ? result + 7 : result;


#теория | @PyMapChannel
👍1
Хранение атрибутов и методов в классах

В Python атрибуты и методы класса хранятся в специальном словаре, называемом __dict__. Этот словарь является атрибутом класса и позволяет хранить все его атрибуты и методы в формате пар "ключ-значение". Каждый ключ соответствует имени атрибута или метода, а значение представляет собой сам объект.

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

🐍 Python Map | Обучение | #теория
5👍1
Паттерны проектирования

Паттерны (шаблоны) проектирования — это проверенные решения для распространенных проблем в разработке программного обеспечения. Они упрощают проектирование и улучшают читаемость кода. Основные паттерны:

- Singleton (Одиночка): Обеспечивает единственный экземпляр класса с глобальной точкой доступа.

- Factory (Фабрика): Определяет интерфейс для создания объектов, позволяя изменять тип создаваемых объектов.

- Observer (Наблюдатель): Устанавливает зависимость "один ко многим", уведомляя зависимые объекты об изменениях.

- Strategy (Стратегия): Инкапсулирует семейство алгоритмов, позволяя их взаимозаменяемость.

🐍 Python Map | Обучение | #теория
👍2