Python академия
7.73K subscribers
2.32K photos
5 videos
269 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Ограничьте использование процессора и памяти

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

Подписывайтесь на канал 👉@pythonofff
👍2
Подборка Telegram каналов для программистов

https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/lifeproger Жизнь программиста. Авторский канал.
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/rabota1C_rus Вакансии для программистов 1С

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
collections

В Python есть отличные встроенные типы данных, но иногда они ведут себя не так, как вам бы хотелось.

К счастью, в стандартной библиотеке Python присутствует модуль collections. Это полезное дополнение предлагает расширенные типы данных.

Подписывайтесь на канал 👉@pythonofff
Задание определенной точности

Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.

В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.

Подписывайтесь на канал 👉@pythonofff
👍2
Несколько возможных типов возвращаемых значений

Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.

Используйте Optional, если значение будет либо определенного типа, либо исключительно None.

Подписывайтесь на канал 👉@pythonofff
👍2
🐍 Как улучшить читаемость кода в Python?

Читаемость кода — это не просто прихоть, а залог продуктивности. Чем понятнее код, тем проще его поддерживать и меньше багов он содержит. Сегодня я расскажу несколько простых, но мощных техник, которые помогут сделать код чище.

1. Используйте говорящие имена переменных и функций
Плохо:

def f(a, b):
return a + b

Хорошо:

def calculate_total_price(price: float, tax: float) -> float:
return price + tax

Название должно передавать суть, а не заставлять читателя гадать.

2. Разбивайте код на функции
Код должен быть модульным. Если в функции больше 20 строк — подумайте, можно ли её разбить.

Плохо (монолитная функция):

def process_order(order):
tax = order.price * 0.2
total = order.price + tax
print(f"Total price: {total}")
order.status = "processed"
save_to_db(order)

Хорошо (логично разнесённый код):

def calculate_tax(price):
return price * 0.2

def process_payment(order):
tax = calculate_tax(order.price)
total = order.price + tax
print(f"Total price: {total}")
return total

def finalize_order(order):
order.status = "processed"
save_to_db(order)


3. Избегайте "магических чисел"
Числа в коде без пояснений — зло. Лучше использовать именованные константы.

Плохо:

discounted_price = price * 0.9

Хорошо:

DISCOUNT_RATE = 0.1
discounted_price = price * (1 - DISCOUNT_RATE)


4. Следуйте PEP 8
Форматирование кода важно! Используйте линтеры, например black или flake8, чтобы соблюдать стандарт.

5. Документируйте код
Хороший код объясняет сам себя, но комментарии тоже нужны.

Плохо:

# Умножаем x на 2
x = x * 2

Хорошо:

# Удваиваем сумму для учёта бонусов
final_amount = amount * 2


Подписывайтесь на канал 👉@pythonofff
👍5
Абстракция словарей/множеств

С абстракциями списков (list comprehension) вы скорее всего сталкивались, но вот с абстракциями словарей/множеств (dict/set comprehension) — вряд ли. Они просты в использовании и так же эффективны.

Подписывайтесь на канал 👉@pythonofff
👍2
Преобразование списка строк

Допустим, у нас есть список, содержащий числа в строковом формате. Чтобы преобразовать все эти элементы в числа с плавающей запятой, мы перебираем список в цикле for. Каждый элемент мы преобразуем из строкового в вещественный. Делается это при помощи функции float().

Мы создаем пустой список number, куда добавим наши числа в формате float. Далее мы используем цикл for для добавления каждого элемента из исходного списка в список number. При этом перед добавлением мы передаем в функцию float() каждый элемент, чтобы преобразовать его из строки в число с плавающей запятой.

Подписывайтесь на канал 👉@pythonofff
👍31
Как перевернуть список в Python с помощью срезов

Срезы работают аналогично функции range(), которую мы разобрали ранее.

Срез также включает в себе три параметра: start, stop и step.

Синтаксис выглядит следующим образом: [start:end:step].

Если вы хотите вывести все элементы, вы можете использовать один из двух следующих способов

Подписывайтесь на канал 👉@pythonofff
👍21👎1
Используйте объекты, которые поддерживают оператор with

Открыть файл и заблокировать фрагмент кода можно с помощью оператора with, но можно ли сделать это, пользуясь собственным методом? Да, можно реализовать протокол context manager, используя методы enter и exit

Подписывайтесь на канал 👉@pythonofff
Сила «однострочников» (One-Liners)

Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.

Подписывайтесь на канал 👉@pythonofff
Как удалить пробелы из строки с помощью translate()

Функция translate() чем-то схожа с функцией replace(). Общая цель функций translate() и replace() – заменить определенный символ в заданной строке на другой символ. Однако определённые различия всё-таки есть.

Подписывайтесь на канал 👉@pythonofff
Как сделать POST-запрос

Мы используем запрос POST для добавления новых данных в REST API. Данные отправляются на сервер в формате JSON, который выглядит как словарь Python. Согласно документации Fake Store API, у продукта есть следующие атрибуты: title (название), price (цена), description (описание), image (изображение) и category.

Подписывайтесь на канал 👉@pythonofff
2
Как перевернуть список в Python с помощью метода .reverse()

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

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

Подписывайтесь на канал 👉@pythonofff
👍3
Создание таблиц

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

Работать с ней просто. Нужно лишь создать объект на основе PrettyTable и далее поместить в него название рядов и сами ряды.

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

Подписывайтесь на канал 👉@pythonofff
👍7
Красивая консоль

Зачастую вся информация в консоли - это скучный белый или же черный текст. Согласитесь, такое и читать не интересно. Благо в питоне есть библиотека TermColor.

За счет этой библиотеки мы быстро можем настроить какие именно стили будут применены к тексту в консоли

Подписывайтесь на канал 👉@pythonofff
👍6
Редактор видео

Все еще в поиске крутого видео редактора? Зачем что-то искать, когда есть Python и замечательная библиотека MoviePy :)

За счет MoviePy вы можете перевернуть видео, можете его обрезать, можете изменить количество FPS и можете выполнить ещё много других действий.

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

Подписывайтесь на канал 👉@pythonofff
👍3
Три открытых урока для Python-разработчиков

Если уже освоили базовый Python и хотите прокачаться в веб-разработке — не пропустите бесплатные занятия от OTUS.

📺 Web-фреймворк на Python за час | 26 марта в 20:00 (Мск)

Разберём, как работает WSGI, создадим минимальный фреймворк с маршрутизацией и поймём, что лежит в основе Django.

Записаться



📺 Знакомство с Django REST Framework: создание API на Django | 17 апреля в 20:00 (Мск)

Узнаете, как строить REST API на Django, сделаете первый шаг к полноценным бэкенд-сервисам.

Записаться



📺 Асинхронное Django-приложение: работа с асинхронными ORM и views | 23 апреля в 20:00 (Мск)

Освоите asyncio в Django, научитесь писать асинхронные представления и взаимодействовать с БД.

Записаться



Записывайтесь на открытые уроки и получите практические знания из первых рук. Все занятия проводятся онлайн, а ведут их опытные разработчики!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Обработка ошибок во время выполнения

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

Подписывайтесь на канал 👉@pythonofff
👍31
Транспонирование 2d-массива

Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода zip.

Подписывайтесь на канал 👉@pythonofff
4