Модуль 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
Модуль secrets
Модуль
Этот модуль особенно полезен для создания безопасных паролей, токенов аутентификации и других конфиденциальных данных.
Модуль secrets следует использовать вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
#библиотеки | @PyMapChannel
Модуль
secrets
в Python предоставляет функции для генерации криптографически безопасных случайных чисел, строк и выборов из последовательностей.Этот модуль особенно полезен для создания безопасных паролей, токенов аутентификации и других конфиденциальных данных.
Модуль secrets следует использовать вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
#библиотеки | @PyMapChannel
🔥6
Функция isinstance()
Функция isinstance() в Python позволяет проверить, является ли объект экземпляром определенного класса или его подклассом.
Она вернет True, если проверяемый объект object является экземпляром любого указанного в classinfo класса (классов) или его подкласса.
Начиная с Python 3.10, аргументом classinfo может быть объединением нескольких классов, например,
#практика | @PyMapChannel
Функция isinstance() в Python позволяет проверить, является ли объект экземпляром определенного класса или его подклассом.
Она вернет True, если проверяемый объект object является экземпляром любого указанного в classinfo класса (классов) или его подкласса.
Синтаксис:
isinstance(object, classinfo)
где:
object - объект, который нужно проверить;
classinfo - класс или кортеж классов, к которым мы хотим проверить принадлежность объекта.
Начиная с Python 3.10, аргументом classinfo может быть объединением нескольких классов, например,
int | str
.#практика | @PyMapChannel
❤4✍1
Модуль SymPy
Модуль SymPy — это мощная и простая в использовании библиотека для выполнения символьных вычислений на Python.
Установка библиотеки:
#библиотеки | @PyMapChannel
Модуль SymPy — это мощная и простая в использовании библиотека для выполнения символьных вычислений на Python.
Она предоставляет широкий спектр функций, которые применяются в сфере символьных вычислений, математического анализа, алгебры, дискретной математики, физике и так далее. SymPy может представлять результат в разных форматах: LaTeX, MathML и так далее.
Установка библиотеки:
pip install sympy
#библиотеки | @PyMapChannel
🔥3✍1