📌 Сравнение списков.
• Сравнение списков несколько отличается от сравнения простых числовых значений. Во-первых, списки должны быть одинакового типа. Во-вторых сравнение идёт в лексикографическом порядке, т.е оцениваются вначале первые элементы последовательностей, если они не равны, то далее возвращается результат(>;<;!=), иначе оценивается следующая пара элементов.
• Последовательности будут равны только в том случае, если все их элементы будут соответственно равны. Кроме этого, более длинная последовательность будет всегда больше более короткой.Строки сравниваются, учитывая порядок символов в строках в таблице ASCII.
Приведём примеры сравнения последовательностей (код на картинке).
📕 Документация
#урок
• Сравнение списков несколько отличается от сравнения простых числовых значений. Во-первых, списки должны быть одинакового типа. Во-вторых сравнение идёт в лексикографическом порядке, т.е оцениваются вначале первые элементы последовательностей, если они не равны, то далее возвращается результат(>;<;!=), иначе оценивается следующая пара элементов.
• Последовательности будут равны только в том случае, если все их элементы будут соответственно равны. Кроме этого, более длинная последовательность будет всегда больше более короткой.Строки сравниваются, учитывая порядок символов в строках в таблице ASCII.
Приведём примеры сравнения последовательностей (код на картинке).
📕 Документация
#урок
❤7👍3👎1
📌 Словари.
• Во всех рассмотренных последовательностях обращаться к отдельным элементам нужно было по индексу. Иную форму организации последовательности представляют словари. В словарях для доступа к отдельным его элементам используются ключевые индексы, подобные индексам в базах данных. Индексом может быть любой неизменяемый объект, такой как строка, число, константный список(такой список может содержать только строки, числа или другие константные списки).
• В тексте программы словари задаются фигурными скобками {} с элементами словаря. Каждому элементу словаря должен соответствовать определённый индекс, который отделяется от элемента двоеточием(“индекс:значение”). К элементам словаря можно обращаться по соответствующим им индексам. При обращении к несуществующему индексу возникает ошибка.
Вот простой пример использования словаря (код на картинке).
📕 Документация
#урок
• Во всех рассмотренных последовательностях обращаться к отдельным элементам нужно было по индексу. Иную форму организации последовательности представляют словари. В словарях для доступа к отдельным его элементам используются ключевые индексы, подобные индексам в базах данных. Индексом может быть любой неизменяемый объект, такой как строка, число, константный список(такой список может содержать только строки, числа или другие константные списки).
• В тексте программы словари задаются фигурными скобками {} с элементами словаря. Каждому элементу словаря должен соответствовать определённый индекс, который отделяется от элемента двоеточием(“индекс:значение”). К элементам словаря можно обращаться по соответствующим им индексам. При обращении к несуществующему индексу возникает ошибка.
Вот простой пример использования словаря (код на картинке).
📕 Документация
#урок
👍6❤5
📌 Библиотека Python для создания PDF-документов.
• Это библиотека для создания PDF-документов на Python. Представляет собой форк неподдерживаемого модуля PYFPDF.
Минимальный пример создания PDF-документа (код на картинке).
📕 Документация
#урок
• Это библиотека для создания PDF-документов на Python. Представляет собой форк неподдерживаемого модуля PYFPDF.
Минимальный пример создания PDF-документа (код на картинке).
📕 Документация
#урок
❤7😁3
📌 Модуль string в Python, текстовые константы и шаблоны.
• Многие функции, ранее реализованные в модуле string, были перенесены в методы объектов str. Модуль string сохраняет несколько полезных констант и классов для работы с объектами str.
• Шаблоны строк предназначены в качестве альтернативы встроенному синтаксису замены переменных при форматировании строк. При интерполяции строки по шаблону string.Template переменные идентифицируются с помощью префикса $, например, $var. В качестве альтернативы, если необходимо выделить их из окружающего текста, они также могут быть обернуты фигурными скобками, например ${var}.
📕 Документация
#урок
• Многие функции, ранее реализованные в модуле string, были перенесены в методы объектов str. Модуль string сохраняет несколько полезных констант и классов для работы с объектами str.
• Шаблоны строк предназначены в качестве альтернативы встроенному синтаксису замены переменных при форматировании строк. При интерполяции строки по шаблону string.Template переменные идентифицируются с помощью префикса $, например, $var. В качестве альтернативы, если необходимо выделить их из окружающего текста, они также могут быть обернуты фигурными скобками, например ${var}.
📕 Документация
#урок
❤4👍3🔥1
📌 Модуль pyftpdlib в Python, FTP-сервер.
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
❤5🔥5
📌 Модуль pyftpdlib в Python, FTP-сервер.
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
❤7👍2🤔1
📌 Модуль pyftpdlib в Python, FTP-сервер.
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
❤5👍4
📌 Модуль python-benedict в Python.
• Модуль python-benedict представляет собой обертку стандартного словаря Python, со множеством дополнительных встроенных методов, предназначенных для создания словаря из 'сырых данных', быстрой модификации и извлечения данных по мере необходимости, перевода данных словаря в различные форматы и т.д.
Способ создание словаря benedict (код на картинке).
📕 Документация
#урок
• Модуль python-benedict представляет собой обертку стандартного словаря Python, со множеством дополнительных встроенных методов, предназначенных для создания словаря из 'сырых данных', быстрой модификации и извлечения данных по мере необходимости, перевода данных словаря в различные форматы и т.д.
Способ создание словаря benedict (код на картинке).
📕 Документация
#урок
❤6🔥4👍1
📌 Модуль faulthandler в Python, дампинг трассировок
• Модуль faulthandler содержит функции для явного дампинга трассировок Python, в случае сбоя, после тайм-аута или по сигналу пользователя.
• Вызовите faulthandler.enable(), чтобы установить обработчики ошибок для сигналов SIGSEGV, SIGFPE, SIGABRT, SIGBUS и SIGILL. Можно также включить их при запуске, установив переменную среды PYTHONFAULTHANDLER или используя параметр командной строки -X faulthandler.
Пример ошибки сегментации в Linux с включением обработчика ошибок и без него (код на картинке).
📕 Документация
#урок
• Модуль faulthandler содержит функции для явного дампинга трассировок Python, в случае сбоя, после тайм-аута или по сигналу пользователя.
• Вызовите faulthandler.enable(), чтобы установить обработчики ошибок для сигналов SIGSEGV, SIGFPE, SIGABRT, SIGBUS и SIGILL. Можно также включить их при запуске, установив переменную среды PYTHONFAULTHANDLER или используя параметр командной строки -X faulthandler.
Пример ошибки сегментации в Linux с включением обработчика ошибок и без него (код на картинке).
📕 Документация
#урок
❤5👍5
📌 Модуль tomli-w в Python, запись документов TOML.
Модуль tomli-w предназначен только для записи файлов TOML или редактирования имеющихся TOML, полностью совместим с TOML v1.0.0. Представляет собой аналог стандартного модуля tomlib, который является синтаксическим анализатором TOML только для чтения.
Особенности модуля tomli-w:
• При преобразовании словаря dict в документ TOML данные не сортируются, но соблюдаются порядок сортировки входных данных, поэтому можно отсортировать содержимое dict (рекурсивно) перед вызовом функции tomli_w.dumps().
• Запись документов TOML с комментариями или пользовательскими пробелами не поддерживается.
• Если многострочная строка содержит новые строки n и/или r то модуль ее не запишет.
Примеры использования модуля (код на картинке).
📕 Документация
#урок
Модуль tomli-w предназначен только для записи файлов TOML или редактирования имеющихся TOML, полностью совместим с TOML v1.0.0. Представляет собой аналог стандартного модуля tomlib, который является синтаксическим анализатором TOML только для чтения.
Особенности модуля tomli-w:
• При преобразовании словаря dict в документ TOML данные не сортируются, но соблюдаются порядок сортировки входных данных, поэтому можно отсортировать содержимое dict (рекурсивно) перед вызовом функции tomli_w.dumps().
• Запись документов TOML с комментариями или пользовательскими пробелами не поддерживается.
• Если многострочная строка содержит новые строки n и/или r то модуль ее не запишет.
Примеры использования модуля (код на картинке).
📕 Документация
#урок
❤6👍4
📌 Модуль psutil в Python, мониторинг ОС.
• Модуль psutil - это кроссплатформенная библиотека для получения информации о запущенных процессах и использовании системы (ЦП, память, диски, сеть, датчики) в Python. Этот модуль полезен для мониторинга системы, профилирования, ограничения ресурсов процессов и управления запущенными процессами.
• Он реализует множество функций, предлагаемых инструментами командной строки UNIX, такими как: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
Так как модуль psutil не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
• Модуль psutil - это кроссплатформенная библиотека для получения информации о запущенных процессах и использовании системы (ЦП, память, диски, сеть, датчики) в Python. Этот модуль полезен для мониторинга системы, профилирования, ограничения ресурсов процессов и управления запущенными процессами.
• Он реализует множество функций, предлагаемых инструментами командной строки UNIX, такими как: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
Так как модуль psutil не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
❤7👍5
📌 Библиотека Pillow в Python.
• Библиотека Pillow добавляет в Python довольно мощные возможности обработки изображений, идентифицирует и читает большое количество форматов. Поддержка записи ограничена наиболее часто используемыми форматами.
• Pillow идеально подходит для приложений пакетной обработки изображений. Ее можно использовать для создания эскизов, преобразования между форматами файлов, печати изображений и т. д.
Прочитать изображение по URL можно следующим образом (код на картинке).
📕 Документация
#урок
• Библиотека Pillow добавляет в Python довольно мощные возможности обработки изображений, идентифицирует и читает большое количество форматов. Поддержка записи ограничена наиболее часто используемыми форматами.
• Pillow идеально подходит для приложений пакетной обработки изображений. Ее можно использовать для создания эскизов, преобразования между форматами файлов, печати изображений и т. д.
Прочитать изображение по URL можно следующим образом (код на картинке).
📕 Документация
#урок
❤6👍3
📌 Модуль pyftpdlib в Python, FTP-сервер.
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
• Модуль pyftpdlib реализует серверную часть протокола FTP, как определено в RFC-959. По своей природе pyftpdlib является асинхронным. Это означает, что он использует один процесс/поток для обработки нескольких клиентских подключений и передачи файлов. Вот почему он такой быстрый, легкий и масштабируемый.
• Изменить асинхронную модель легко. Для этого нужно вместо класса FTPServer использовать классы ThreadedFTPServer или MultiprocessFTPServer. На практике это означает, что можно не бояться длительных блокирующих операции, а следовательно использовать FTP-сервер на медленных файловых системах.
Так как модуль pyftpdlib не входит в стандартную библиотеку Python, его необходимо установить отдельно. Сделать это можно с помощью менеджера пакетов pip (код на картинке).
📕 Документация
#урок
❤6🔥4
📌 Модуль pdb, отладчик Python.
• Модуль pdb определяет интерактивный отладчик исходного кода для программ Python. Он поддерживает установку условных точек останова и пошаговое выполнение на уровне строки исходного кода, проверку стековых фреймов, листинг исходного кода и оценку произвольного кода Python в контексте любого стекового фрейма. Он также поддерживает посмертную отладку и может вызываться под управлением программы.
• Отладчик является расширяемым - он фактически определяется как класс pdb.Pdb().
Типичное использование для запуска программы под управлением отладчика (код на картинке).
📕 Документация
#урок
• Модуль pdb определяет интерактивный отладчик исходного кода для программ Python. Он поддерживает установку условных точек останова и пошаговое выполнение на уровне строки исходного кода, проверку стековых фреймов, листинг исходного кода и оценку произвольного кода Python в контексте любого стекового фрейма. Он также поддерживает посмертную отладку и может вызываться под управлением программы.
• Отладчик является расширяемым - он фактически определяется как класс pdb.Pdb().
Типичное использование для запуска программы под управлением отладчика (код на картинке).
📕 Документация
#урок
❤4👍3