⚡️ База данных символов юникод
Модуль unicodedata позволяет узнать имя символа, его представление в системе unicode, категорию и т.д.
В этом посте представлена лишь небольшая часть команд, больше — в документации.
name и lookup — первая команда принимает символ и возвращает его имя. Вторая же делает всё наоборот.
normalize(format, unistr) — в юникоде несколько символов могут быть выражены по-разному, поэтому normalize переводит символы внутри строки в общепринятую форму.
decimal (chr, default) — переводит chr в значение типа int. Если передан символ, то возвращает default. В случае, если default не задан, вернётся ошибка ValueError.
#миниурок #unicodedata
Модуль unicodedata позволяет узнать имя символа, его представление в системе unicode, категорию и т.д.
В этом посте представлена лишь небольшая часть команд, больше — в документации.
name и lookup — первая команда принимает символ и возвращает его имя. Вторая же делает всё наоборот.
normalize(format, unistr) — в юникоде несколько символов могут быть выражены по-разному, поэтому normalize переводит символы внутри строки в общепринятую форму.
decimal (chr, default) — переводит chr в значение типа int. Если передан символ, то возвращает default. В случае, если default не задан, вернётся ошибка ValueError.
#миниурок #unicodedata
⚡️ Бесконечные итераторы
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
Все возможности модуля можно просмотреть в документации.
• count (start, step) — возвращает числа начиная с start и каждый раз добавляет step. Напоминает range, но без ограничений.
• cycle (elem) — циклично возвращает все элементы внутри elem.
• repeat (elem, count) — count раз возвращает elem.
#миниурок #itertools
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
Все возможности модуля можно просмотреть в документации.
• count (start, step) — возвращает числа начиная с start и каждый раз добавляет step. Напоминает range, но без ограничений.
• cycle (elem) — циклично возвращает все элементы внутри elem.
• repeat (elem, count) — count раз возвращает elem.
#миниурок #itertools
⚡️ Полезные команды из модуля itertools
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
chain(args) — Возвращает все элементы из первого итерируемого объекта до конца args.
zip_longest(arr1, arr2, fillvalue) — делает то же самое, что и zip (arr1, arr2), но если у arr1 и arr2 разная длина возвращает fillvalue.
compress(arr1, arr2) — "Сохраняет" элемент из arr1, если элемент из arr2 с этим же индексом является True
filterfalse(func, iter) — Работает так же как и filter, но сохраняет значения, только если результат функции false
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
chain(args) — Возвращает все элементы из первого итерируемого объекта до конца args.
zip_longest(arr1, arr2, fillvalue) — делает то же самое, что и zip (arr1, arr2), но если у arr1 и arr2 разная длина возвращает fillvalue.
compress(arr1, arr2) — "Сохраняет" элемент из arr1, если элемент из arr2 с этим же индексом является True
filterfalse(func, iter) — Работает так же как и filter, но сохраняет значения, только если результат функции false
⚡️ Оператор with в python
При работе с файлами или сетевыми соединения вам необходимо их закрывать даже в случае появления ошибки.
Вместо использования try или, например, finally, мы можем воспользоваться оператором with.
Оператор вызывает __enter__ у обрабатывающего класса, а в случае появления ошибки или окончания работы с объектом — __exit__.
Также, можно использовать декоратор contextmanager из contextlib для обработки файла используя yield.
#теория #операторы
При работе с файлами или сетевыми соединения вам необходимо их закрывать даже в случае появления ошибки.
Вместо использования try или, например, finally, мы можем воспользоваться оператором with.
Оператор вызывает __enter__ у обрабатывающего класса, а в случае появления ошибки или окончания работы с объектом — __exit__.
Также, можно использовать декоратор contextmanager из contextlib для обработки файла используя yield.
#теория #операторы
⚡️ Работаем с файлами конфигурации
Модуль configparser используется для обработки файлов конфигурации. Он использует базовый язык, похожий на Microsoft Windows INI. Весь функционал можно найти на сайте в документации.
Устанавливать модуль не требуется, он уже идёт вместе с Python 3.
ConfigParser() — это основной класс для работы с файлом конфигурации.
Метод read (filename) считывает значения с файла, write(file_obj) записывает все изменения в переданный файл.
Основные методы в действии можно увидеть на картинке.
#миниурок #configparser
Модуль configparser используется для обработки файлов конфигурации. Он использует базовый язык, похожий на Microsoft Windows INI. Весь функционал можно найти на сайте в документации.
Устанавливать модуль не требуется, он уже идёт вместе с Python 3.
ConfigParser() — это основной класс для работы с файлом конфигурации.
Метод read (filename) считывает значения с файла, write(file_obj) записывает все изменения в переданный файл.
Основные методы в действии можно увидеть на картинке.
#миниурок #configparser
Что выведет этот код?
Anonymous Quiz
50%
[1, None, 'Hi', 'hey']
10%
['H', 'None', 'Hi', 'hey']
34%
[1, None, 'H', 'i', 'hey']
6%
[None', 'H', 'i', 'hey']
⚡️ Работаем с файловыми путями
Модуль pathlib, который установлен в Python по умолчанию, позволяет легко взаимодействовать с путями к файлам.
В библиотеке есть два основных класса — PurePosixPath, для Unix-подобных систем и PureWindowsPath для ОС Windows.
Если вы не желаете писать под определённую операционную систему, вы можете воспользоваться PurePath.
Windows и Unix-подобные системы работают с файловыми система по-разному.
Например Windows не чувствителен к регистру, использует вместо / и имеет разные диски — библиотека это знает, и позаботится об этом за вас.
Учтите, что для копирования файлов вам потребуется другой модуль — shutil.
#миниурок #pathlib
Модуль pathlib, который установлен в Python по умолчанию, позволяет легко взаимодействовать с путями к файлам.
В библиотеке есть два основных класса — PurePosixPath, для Unix-подобных систем и PureWindowsPath для ОС Windows.
Если вы не желаете писать под определённую операционную систему, вы можете воспользоваться PurePath.
Windows и Unix-подобные системы работают с файловыми система по-разному.
Например Windows не чувствителен к регистру, использует вместо / и имеет разные диски — библиотека это знает, и позаботится об этом за вас.
Учтите, что для копирования файлов вам потребуется другой модуль — shutil.
#миниурок #pathlib
⚡️ Обфускация исходного кода. Работаем с pyarmor
Python никак не скрывает свой исходный код и каждый, кто получит файл, может легко его прочитать.
Это может стать серьёзной проблемой в безопасности и, чтобы скрыть и запутать исходник, используют обфускаторы.
Обфускатор — это программа, которая различными способами усложняет скрипт. Меняет названия переменных, потоки и так далее.
Это затрудняет анализ скрипта, сохраняя функциональность. Одна из таких программ — pyarmor.
Установка:
#миниурок #pyarmor
Python никак не скрывает свой исходный код и каждый, кто получит файл, может легко его прочитать.
Это может стать серьёзной проблемой в безопасности и, чтобы скрыть и запутать исходник, используют обфускаторы.
Обфускатор — это программа, которая различными способами усложняет скрипт. Меняет названия переменных, потоки и так далее.
Это затрудняет анализ скрипта, сохраняя функциональность. Одна из таких программ — pyarmor.
Установка:
pip install pyarmor
Пример кода взят из этой статьи, а выше — можете видеть результат.#миниурок #pyarmor