Функции bin(), oct(), hex()
Функция bin() преобразует целое число в двоичную строку с префиксом 0b. В двоичных числах используются только цифры 0 и 1.
Функция oct() преобразует целое число в восьмеричную строку с префиксом 0o. В восьмеричных числах используются цифры от 0 до 7.
Функция hex() преобразует целое число в шестнадцатеричную строку с префиксом 0x. В шестнадцатеричных числах используются цифры от 0 до 9 и буквы от A до F для представления значений от 10 до 15.
Если в эти функции передается объект не являющийся int, то он должен определять метод __index()__, который будет возвращать целое число.
#практика #это_база | @PyMapChannel
Функция bin() преобразует целое число в двоичную строку с префиксом 0b. В двоичных числах используются только цифры 0 и 1.
Функция oct() преобразует целое число в восьмеричную строку с префиксом 0o. В восьмеричных числах используются цифры от 0 до 7.
Функция hex() преобразует целое число в шестнадцатеричную строку с префиксом 0x. В шестнадцатеричных числах используются цифры от 0 до 9 и буквы от A до F для представления значений от 10 до 15.
Если в эти функции передается объект не являющийся int, то он должен определять метод __index()__, который будет возвращать целое число.
#практика #это_база | @PyMapChannel
🔥3
Байтовые объекты
Байтовые объекты представляют собой последовательность байтов, которая хранит информацию в двоичном формате.
В 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
Модуль os: функция listdir()
Функция listdir() модуля os возвращает список, содержащий имена файлов и директорий в заданном каталоге. Список будет в произвольном порядке и не содержит специальных обозначений ("." и "..").
#практика #средний_уровень | @PyMapChannel
Функция listdir() модуля os возвращает список, содержащий имена файлов и директорий в заданном каталоге. Список будет в произвольном порядке и не содержит специальных обозначений ("." и "..").
Синтаксис:
os.listdir(path='.')
Аргумент path – путь к каталогу, принимает объекты, реализующие интерфейс os.PathLike. Если путь имеет байтовый тип, возвращаемые имена файлов также будут байтовыми типами, иначе они будут строковыми.
#практика #средний_уровень | @PyMapChannel
👍2
Модуль os: функции getcwd() и getcwdb()
Функция getcwd() модуля os вернет строку, представляющую текущий рабочий каталог. Функция getcwdb() вернет строку байтов, представляющую текущий рабочий каталог.
#практика #средний_уровень | @PyMapChannel
Функция getcwd() модуля os вернет строку, представляющую текущий рабочий каталог. Функция getcwdb() вернет строку байтов, представляющую текущий рабочий каталог.
Функция getcwdb() использует кодировку UTF-8 в Windows, а не кодовую страницу ANSI.
#практика #средний_уровень | @PyMapChannel
🔥3
Будем делать что-то наподобие плейлиста или серий уроков, оставляя ссылки на добавленные уроки в указатели по темам. Может время от времени будем публиковать основной указатель по темам для новых подписчиков. Ставьте 🔥 реакцию, если думаете что будет удобно. Также можете написать в комментариях темы, которые хотите, чтобы были разобраны на канале.
🔥14
Последовательность и коллекция в Python
Последовательности и коллекции являются ключевые понятиями в Python, служащими для структурирования и хранения информации.
Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.
#теория | @PyMapChannel
Последовательности и коллекции являются ключевые понятиями в Python, служащими для структурирования и хранения информации.
Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Примеры последовательностей: строки (str), списки (list), кортежи (tuple).
Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Примеры коллекций: словари (dict), множества (set, frozenset), в то же время и последовательности: строки (str), списки (list), кортежи (tuple).
Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.
#теория | @PyMapChannel
👍3
Генерация HEX-цветов
В веб-разработке часто применяют HEX-цвета, которые представляют цвет в формате RGB с использованием шестнадцатеричной системы счисления.
#практика #средний_уровень | @PyMapChannel
В веб-разработке часто применяют HEX-цвета, которые представляют цвет в формате RGB с использованием шестнадцатеричной системы счисления.
В данном коде каждый цветовой канал (red, green, blue) преобразуется в двузначное шестнадцатеричное число с помощью форматирования f-строки {channel:02x}, где:
channel – переменная, содержащая значение цветового канала (в диапазоне от 0 до 255, включая его)
x – указывает, что число будет представлено в шестнадцатеричной системе счисления , используя строчные буквы для цифр выше 9
X – можно использовать заглавные буквы для цифр выше 9
02 - означает, что число будет представлено минимум двумя символами, с добавлением нуля спереди, если значение меньше 16₁₀ т.е. 10₁₆
#практика #средний_уровень | @PyMapChannel
❤2👍1🔥1
Модуль phonenumbers
Библиотека phonenumbers предоставляет мощный и удобный инструментарий для работы с телефонными номерами. С помощью этой библиотеки можно легко разбирать, валидировать, форматировать и даже определять информацию о телефонных номерах, такую как страна и оператор связи.
Установка библиотеки:
Эта библиотека может быть полезна при разработке приложений, требующих анализа номеров телефонов.
#библиотеки #практика #продвинутый_уровень | @PyMapChannel
Библиотека phonenumbers предоставляет мощный и удобный инструментарий для работы с телефонными номерами. С помощью этой библиотеки можно легко разбирать, валидировать, форматировать и даже определять информацию о телефонных номерах, такую как страна и оператор связи.
Разбор кода примера:
Функция parse() – разберает (парсит) строку и возвращает соответствующий объект PhoneNumber.
Функция is_valid_number() – проверяет, соответствует ли номер телефона допустимому шаблону.
Затем с помощью функций carrier.name_for_number и geocode.description_for_number , определяем имя провайдера и регион, соответствующие данному номеру телефона.
Установка библиотеки:
pip install phonenumbers
Эта библиотека может быть полезна при разработке приложений, требующих анализа номеров телефонов.
#библиотеки #практика #продвинутый_уровень | @PyMapChannel
👍2❤1
Потоковый ввод sys.stdin
🐍 Потоковый ввод в Python, очень полезный приём, когда вы не знаете сколько строк может вводить пользователь.
#практика #продвинутый_уровень | @PyMapChannel
🐍 Потоковый ввод в Python, очень полезный приём, когда вы не знаете сколько строк может вводить пользователь.
#практика #продвинутый_уровень | @PyMapChannel
🔥4🏆1
Методы str.lower() и str.upper()
Метод строк lower() преобразует все символы в нижний регистр, а метод upper() делает все символы в строке заглавными. Методы возвращают новую строку, не изменяя исходную.
Эти методы очень удобны для сравнения строк без учета регистра.
#практика #это_база | @PyMapChannel
Метод строк lower() преобразует все символы в нижний регистр, а метод upper() делает все символы в строке заглавными. Методы возвращают новую строку, не изменяя исходную.
Эти методы очень удобны для сравнения строк без учета регистра.
#практика #это_база | @PyMapChannel
Модуль art: функция tprint()
Функция tprint() из модуля art предназначена для вывода текста в виде ASCII-арт. Она позволяет указать текст, а также выбрать стиль, в котором этот текст должен быть отображен.
Узнать все доступные шрифты и оформления:
Установка библиотеки:
#библиотеки | @PyMapChannel
Функция tprint() из модуля art предназначена для вывода текста в виде ASCII-арт. Она позволяет указать текст, а также выбрать стиль, в котором этот текст должен быть отображен.
Синтаксис:
tprint(text,
font: str = DEFAULT_FONT,
chr_ignore: bool = True,
decoration: Any | None = None,
sep: str = "\n",
space: int = 0)
где:
text - строка текста, который вы хотите вывести;
font - стиль шрифта
chr_ignore - игнорирование неподдерживаемых символов
decoration - оформление текста
sep - символ-разделитель строк
space - расстояние между символами
Узнать все доступные шрифты и оформления:
art.font_list()
art.decor_list()
Установка библиотеки:
pip install art
#библиотеки | @PyMapChannel
🆒5
Оператор * для упаковки и распаковки коллекций
⚡️ Оператор * для упаковки и распаковки коллекций предоставляет удобные способы работы с данными переменной длины и упрощает работу с итерируемыми объектами.
Накидайте максимум реакций)
#практика #это_база #статьи | @PyMapChannel
⚡️ Оператор * для упаковки и распаковки коллекций предоставляет удобные способы работы с данными переменной длины и упрощает работу с итерируемыми объектами.
Накидайте максимум реакций)
#практика #это_база #статьи | @PyMapChannel
👍5
Функция filter()
Функция filter() в Python используется для фильтрации (отбора) элементов последовательности, основываясь на заданном условии.
Функция filter() возвращает итератор, содержащий элементы, для которых функция возвращает True.
Как правило, вместо filter можно использовать генераторы списков.
#практика #это_база | @PyMapChannel
Функция filter() в Python используется для фильтрации (отбора) элементов последовательности, основываясь на заданном условии.
Синтаксис:
filter(function, iterable)
где:
function - функция, которая возвращает True или False для каждого элемента в итерируемом объекте;
iterable - итерируемый объект, в котором производится фильтрация.
Функция filter() возвращает итератор, содержащий элементы, для которых функция возвращает True.
Как правило, вместо filter можно использовать генераторы списков.
#практика #это_база | @PyMapChannel
👍4❤2
Модуль textwrap: функция wrap
Функция wrap() модуля textwrap разбивает один абзац (строку) text по строкам так, что каждая строка имеет не более width символов в длину. Возвращает список строк, без завершающего символа новой строки \n.
Установка библиотеки:
#библиотеки | @PyMapChannel
Функция wrap() модуля textwrap разбивает один абзац (строку) text по строкам так, что каждая строка имеет не более width символов в длину. Возвращает список строк, без завершающего символа новой строки \n.
Синтаксис:
textwrap.fill(text, width=70, **kwargs)
где:
text - строка, которую вы хотите отформатировать
width - максимальная ширина отформатированной строки (по умолчанию 70 символов)
**kwargs - необязательные аргументы класса TextWrapper, такие как initial_indent, subsequent_indent, expand_tabs и другие, которые управляют поведением форматирования.
Установка библиотеки:
pip install textwrap3
#библиотеки | @PyMapChannel
✍3👍1
Сжатие изображений
Этот код позволяет, используя библиотеку PIL (Python Imaging Library), открыть исходное изображение из файла "original.png" и сохранить сжатую и оптимизированную версию изображения в файл "compressed.png".
Дополнительно, этот код выводит размер файла исходного и модифицированного изображения в килобайтах (Кб).
Параметр
Установка библиотеки:
#практика | @PyMapChannel
Этот код позволяет, используя библиотеку PIL (Python Imaging Library), открыть исходное изображение из файла "original.png" и сохранить сжатую и оптимизированную версию изображения в файл "compressed.png".
Дополнительно, этот код выводит размер файла исходного и модифицированного изображения в килобайтах (Кб).
Параметр
optimize=True
, метода Image.save
указывает на использование оптимизации для сжатия файла изображения с минимальной потерей качества.Также можно указать необязательный параметр quality, определяющий процентное значение качества сжатия от 0 до 100 (по умолчанию 75). что позволяет балансировать между качеством и размером файла.
Установка библиотеки:
pip install pillow
#практика | @PyMapChannel
«Странное» поведение % в 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