Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
391 videos
82 files
988 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
Media is too big
VIEW IN TELEGRAM
Python - Полный Курс по Python [15 ЧАСОВ]

00:00:00 Введение в курс Python
00:12:20 Установка Python
00:14:56 Установка редактора кода VS Code
00:20:34 Начало работы в VS Code
00:23:02 Изменение настроек редактора VS Code
00:30:28 Знакомство с интерпретатором Python
00:43:43 Установка и использование PyCharm
00:51:48 Самое важное в Python
00:55:02 Основные типы в Python
00:58:39 Практика в интерактивном интерпретаторе Python
01:04:19 Встроенные функции
01:11:13 Функция dir и атрибуты объектов
01:33:42 Отступы в Python
01:41:46 Форматирование кода Python и PEP8
01:57:30 Введение в функции
02:16:40 Выражения
02:29:27 Переменные
02:39:02 Динамическая типизация
02:48:10 Типы и структуры данных
02:54:22 Переменные и объекты
03:06:47 Строки - str
03:27:57 Целые числа - int
03:40:56 Числа с десятичной точкой - float
03:49:40 Логический тип - bool
04:00:27 Конвертация типов
04:12:31 Магические методы
04:27:38 Списки - list
04:40:10 Методы списков
05:19:28 Словари - dict
05:27:25 Изменение значений в словарях
05:34:46 Переменные в словарях
05:39:45 Длина словаря
06:02:25 ЗАДАЧА - Словари
06:10:19 Кортежи - tuple
06:31:46 Наборы - set
06:49:40 Методы наборов
07:18:56 Диапазоны - range
07:36:47 Сравнение типов последовательностей
07:43:32 Встроенная функция zip
07:53:52 Изменение объектов в Python
08:18:34 Функции
08:29:27 Самая корткая функция и pass
08:45:31 ЗАДАЧА - Функции
08:54:17 Аргументы функций
09:16:43 ЗАДАЧИ - Именованые аргументы функций
....
12:59:24 Условные инструкции
13:29:15 ЗАДАЧА - Условные инструкции
13:45:51 Тернарный оператор
14:04:24 Циклы
14:08:47 Цикл for in
14:22:02 Цикл for in для наборов
14:25:23 ЗАДАЧИ - Цикл for in
14:45:45 Встроенная функция filter
14:56:57 Цикл while
15:00:35 Использование continue в циклах
15:05:07 ЗАДАЧА - Цикл while
15:14:31 Сокращенный цикл for in
15:31:39 ЗАДАЧИ - Сокращенный цикл for in

источник

👉@BookPython
👍15🤯7
Python: эффективное переименование файлов в директории

Если вам нужно быстро переименовать несколько файлов, вам поможет следующий сниппет на Python, использующий модуль os. Допустим, мы хотим добавить префикс "new_" к именам файлов. Вот как это будет выглядеть:

import os

for filename in os.listdir('.'):
if filename.endswith('.txt'):
os.rename(filename, f'new_{filename}')



Этот код выбирает все файлы с расширением .txt в текущей директории и добавляет к их именам префикс "new_". В зависимости от ваших требований вы можете модифицировать условия отбора файлов и способ формирования новых имен.


Продвинутое групповое переименование
Удаление префиксов и предотвращение конфликтов имен файлов
Если вы хотите удалить префикс (например "CHEESE_") из имени файла и при этом не вызвать конфликт перезаписи файлов, используйте следующий код:

import os

for filename in os.listdir('.'):
if filename.startswith('CHEESE_'):
new_filename = filename.replace('CHEESE_', '', 1)
if not os.path.exists(new_filename):
os.rename(filename, new_filename)



Подобный скрипт удаляет префикс "CHEESE_" из имени файла (однообразная замена), затем проверяет наличие файла с таким новым именем и затем переименовывает оригинальный файл.

Использование регулярных выражений для обработки сложных шаблонов имен
Для работы со сложными шаблонами имен файлов будет полезен модуль re:

import os
import re

pattern = re.compile(r'^(CHEESE_)(.*)')

for filename in os.listdir('.'):
match = pattern.match(filename)
if match:
new_filename = match.group(2)
if not os.path.exists(new_filename):
os.rename(filename, new_filename)


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

Рекурсивное переименование файлов с помощью os.walk
Чтобы переименовать файлы во всех поддиректориях, используйте функцию os.walk:

import os

for root, dirs, files in os.walk('.'):
for filename in files:
if 'CHEESE_' in filename:
new_filename = filename.replace('CHEESE_', '')
original_path = os.path.join(root, filename)
new_path = os.path.join(root, new_filename)
if not os.path.exists(new_path):
os.rename(original_path, new_path)


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

Профессиональные рекомендации и подготовка к будущему
Будьте готовы к возможным ошибкам
Никогда не забывайте обрабатывать возможные ошибки и исключительные ситуации:

try:
os.rename(original_path, new_path)
except OSError as e:
print(f"Error: {e}")


Такой подход поможет вам избежать непредсказуемых проблем и ситуаций, когда файлы могут быть заняты другими процессами.

Современные подходы: применение модуля pathlib
Для эффективного решения задачи переименования файлов рекомендуется использовать модуль pathlib:

from pathlib import Path

folder = Path('.')

for file_path in folder.glob('*.txt'):
file_path.rename(f'new_{file_path.name}')


С pathlib получается работать с файловыми шаблонами и структурированными путями гораздо удобнее.

Создайте резервную копию файлов перед началом работы
Бэкап перед важной работой с файлами -- это залог вашего спокойствия:


import shutil

shutil.copy2(original_path, backup_path)


👉@BookPython
👍3🔥1
Что плохого в следующем коде?

Ответ:
В Python нет объявлений переменных, поэтому он должен сам определить их область действия. Если внутри функции имеется обращение к переменной, то она считается локальной. Переменная count выше является глобальной, поэтому код выбрасывает ошибку.

👉@BookPython
👎5👍4
Основы парсинга на Python: от Requests до Selenium

Бывают ситуации, когда нужно автоматизировать сбор и анализ данных из разных источников. Например, если хочется мониторить курс рубля в режиме реального времени. Для решения подобных задач применяют парсинг.

В этой статье кратко рассказываем, как парсить данные веб-сайтов с помощью Python. Пособие подойдет новичкам и продолжающим — сохраняйте статью в закладки и задавайте вопросы в комментариях. Подробности под катом!

https://habr.com/ru/companies/selectel/articles/754674/

👉@BookPython
👍2
Сравнение производительности dict() и {} в Python

Какое-то время назад, во время разбора кода, мы обсудили выбор dict() вместо {} в новом коде на Python. Коллега утверждал, что dict() более читаем и чётче выражает предназначение кода, поэтому следует предпочесть его. Меня это не убедило, но в тот момент контраргументов не нашлось, поэтому я воздержался.

Это заставило меня задуматься: в чём разница между типом dict и литеральным выражением {}?

Давайте изучим этот вопрос.

https://madebyme.today/blog/python-dict-vs-curly-brackets/

👉@BookPython
👍6
5 неочевидных возможностей FastAPI: упрощаем работу с бэкендом на Python

FastAPI - это современный веб-фреймворк, разработанный на языке Python. В последнее время он приобрел большую популярность. Его структура разработки очень похожа на Flask, который был де-факто вариантом для тех, кто начинал веб-разработку на Python. FastAPI прост в использовании, его документация хорошо написана и проста в освоении.

1️⃣Включите Flask, Django, Dash или любой другой WSGI
2️⃣Смонтируйте отдельные приложения FastAPI для разных маршрутов
3️⃣Разделите маршруты FastAPI на разные файлы
4️⃣Добавьте шаблоны Jinja и статические файлы
5️⃣Используйте модель обработки конфигурации из Flask

https://levelup.gitconnected.com/5-advance-features-of-fastapi-you-should-try-7c0ac7eebb3e

👉@BookPython
👍2👎1
Шпаргалка и краткое руководство по #Flask

👉@BookPython
👍4
Уроки по Flask с нуля. Часть 1

Flask #1: Что это такое? Простое WSGI-приложение
Flask #2: Использование шаблонов страниц сайта
Flask #3: Контекст приложения и контекст запроса
Flask #4: Функция url_for и переменные URL-адреса
Flask #5: Подключение внешних ресурсов и работа с формами
Flask #6: Мгновенные сообщения - flash, get_flashed_messages
Flask #7: Декоратор errorhandler, функции redirect и abort
Flask #8: Создание БД, установление и разрыв соединения при запросах
Flask #9: Добавление и отображение статей из БД
Flask #10: Способ представления полноценных HTML-страниц на сервере

источник

👉@BookPython
👍2🔥1
Подборка ВСЕХ наиболее известных алгоритмов, реализованных на Python

Данная подборка, прежде всего, предназначена для обучения, поскольку сами реализации могут быть менее эффективными, чем те, что в стандартной библиотеке Python, используйте их по своему усмотрению

https://github.com/TheAlgorithms/Python

👉 @BookPython
👍4