bookpython | Unsorted

Telegram-канал bookpython - Библиотека Python разработчика | Книги по питону

19706

Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др. По всем вопросам @evgenycarter № 4869337666

Subscribe to a channel

Библиотека Python разработчика | Книги по питону

Хотите разобраться, как устроены веб-фреймворки и глубже понять Django? На открытом уроке разберёмся с WSGI, HTTP-запросами, маршрутизацией и создадим свой мини-фреймворк.

👉 Вместо сухой теории — код, практика и разбор ключевых механизмов, на которых строятся Django и Flask. Разберёмся, как работают серверы, роутинг и обработка запросов.

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

Спикер Леонид Орлов — опытный преподаватель и разработчик на Python и Django.

🔗 Записывайтесь и получите скидку на большое обучение «Django-разработчик»

https://vk.cc/cJQpKW

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

Читать полностью…

Библиотека Python разработчика | Книги по питону

Бесплатная встреча с экспертом ITSM/ESM

✅Решаем ваши ИТ-задачи быстро и эффективно! Подберем идеальное решение!

✅Узнайте, как автоматизировать сервисные процессы в вашей компании.

✅Записывайтесь на бесплатную встречу с экспертом 1С:ITILIUM . Осталось 2 места.

Записаться

#реклама 16+
itilium.ru

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

Как разбогатеть, если всего 10к в кармане?

Расскажем, как приумножать капитал. Живое общение с экспертами.

Узнать больше

#реклама
О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

Легкий старт в инвестициях от 100 ₽ в СберБанк Онлайн

Доверьте вложения профессионалам из АО УК «Первая» 💻 и получите возможность заработать 💰

Инвестируйте в готовый портфель акций и облигаций 📊 потенциально надежных российских компаний ✅

Узнать больше

Финансовые услуги оказывает: АО УК «Первая».

#реклама
sberbank.com

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

🔥 Как ускорить Python-код в 10 раз?

Сегодня покажу вам мощный инструмент для оптимизации кода — Numba. Это библиотека, которая позволяет компилировать Python-функции в машинный код, используя JIT-компилятор.

🚀 Как это работает?

Numba использует LLVM для компиляции кода во время выполнения, превращая Python в код, близкий по скорости к C.

Пример

Допустим, у нас есть функция, вычисляющая сумму квадратов чисел:

import numpy as np
import time

def sum_of_squares(n):
result = 0
for i in range(n):
result += i ** 2
return result

n = 10**7
start = time.time()
sum_of_squares(n)
print("Обычный Python:", time.time() - start)


Теперь ускорим её с помощью Numba:

from numba import jit

@jit(nopython=True)
def sum_of_squares_numba(n):
result = 0
for i in range(n):
result += i ** 2
return result

start = time.time()
sum_of_squares_numba(n)
print("С Numba:", time.time() - start)


📊 Результат:

✅ Код на чистом Python выполняется ~5-10 раз медленнее, чем с Numba.
✅ Numba особенно полезна для математических вычислений и обработки массивов.
✅ Простая аннотация @jit(nopython=True) уже даёт мощный прирост скорости!

Где применять?

✔ Численные расчёты
✔ Обработку данных
✔ Алгоритмы машинного обучения

Попробуйте Numba и напишите в комментариях, удалось ли вам ускорить свой код!

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

10 полезных библиотек для Python-разработчика

Сегодня я подготовил для вас подборку из 10 полезных библиотек, которые могут сделать вашу разработку проще и эффективнее. Поехали! 🚀

1️⃣ Rich – красивый вывод в консоль. Если хотите раскрасить логи, добавить таблицы или анимации – эта библиотека вам пригодится.
📌 pip install rich

2️⃣ Typer – современный способ писать CLI-приложения. Работает на основе аннотаций типов и делает разработку CLI удобнее.
📌 pip install typer

3️⃣ Pendulum – альтернатива datetime, но с удобным API и встроенной поддержкой часовых поясов.
📌 pip install pendulum

4️⃣ HTTPX – асинхронный клиент для работы с HTTP-запросами. Поддерживает async/await, в отличие от requests.
📌 pip install httpx

5️⃣ Pydantic – мощный инструмент для валидации данных и работы с моделями. Особенно полезен в FastAPI.
📌 pip install pydantic

6️⃣ Poetry – современный менеджер зависимостей. Упрощает работу с виртуальными окружениями и пакетами.
📌 pip install poetry

7️⃣ Loguru – удобная альтернатива стандартному logging. Позволяет логировать без лишнего кода.
📌 pip install loguru

8️⃣ FastAPI – один из самых быстрых Python-фреймворков для создания API. Использует аннотации типов и async/await.
📌 pip install fastapi

9️⃣ Tqdm – библиотека для удобных progress-bar'ов в терминале. Незаменима при обработке больших данных.
📌 pip install tqdm

🔟 Black – автоматический форматтер кода, который придерживается строгого стиля. Просто устанавливаешь – и больше не думаешь о стиле кода.
📌 pip install black

Какую из этих библиотек вы уже используете? А может, есть другие любимые инструменты? Делитесь в комментариях! 🔥

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Одной из самых непоследовательных частей синтаксиса Python являются литералы кортежей.

По сути, чтобы создать кортеж, вы просто пишете значения, разделенные запятыми: 1, 2, 3. Пока что все понятно. А как насчет кортежа, содержащего только один элемент? Вы просто добавляете завершающую запятую к единственному значению: 1,. Это выглядит несколько некрасиво и может быть подвержено ошибкам, но логика понятна.

А как насчет пустого кортежа? Это просто запятая? Нет, это (). Значит ли это, что круглые скобки создают кортеж так же, как и запятые? Нет, это не так. (4) — это не кортеж, это просто 4.

Пример:


a = [
(1, 2, 3),
(1, 2),
(1),
(),
]

[type(x) for x in a]
# Результат: [tuple, tuple, int, tuple]


Чтобы все стало еще более запутанным, литералы кортежей часто требуют дополнительных круглых скобок. Если вы хотите, чтобы кортеж был единственным аргументом функции, то f(1, 2, 3) не сработает по очевидной причине — вместо этого нужно написать f((1, 2, 3)).

👉 @BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

⚡ Как ускорить код на Python? Используем map, filter, reduce

Привет, друзья! Сегодня расскажу о том, как можно ускорить выполнение кода, заменяя обычные циклы на встроенные функции map(), filter() и reduce(). Эти инструменты позволяют писать более компактный, читаемый и быстрый код.

map()
Функция map() применяется к каждому элементу последовательности и возвращает новый итератор.

❌ Обычный способ:


numbers = [1, 2, 3, 4, 5]
squared = []
for num in numbers:
squared.append(num ** 2)


✅ Быстрее с map():

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))

За счёт того, что map() использует C-оптимизированную логику, код выполняется быстрее.

filter()
Фильтрует элементы последовательности по заданному условию.

❌ Медленный вариант:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = []
for num in numbers:
if num % 2 == 0:
evens.append(num)


✅ Быстрее с filter():

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = list(filter(lambda x: x % 2 == 0, numbers))

Такой код читается легче и работает быстрее.

reduce()
Позволяет выполнять кумулятивные операции (например, суммирование, умножение).

❌ Классический способ:

numbers = [1, 2, 3, 4, 5]
product = 1
for num in numbers:
product *= num


✅ Быстрее с reduce():

from functools import reduce

numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, numbers)

Этот метод полезен, если нужно свести список к одному значению.

💡 Важно: reduce() чаще заменяют sum() или math.prod(), но для сложных операций он остаётся полезным.


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

👉 @BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

В Python каждое значение имеет логическое (булево) представление. Оно неявно приводится к bool, когда используется в if, bool, not и других логических операциях.

Ложными (False) считаются следующие объекты: None, False, 0 любого типа, а также пустые коллекции ("", [], {} и т. д.), включая пользовательские коллекции с методом __len__, если __len__ возвращает 0.

Можно также определить пользовательскую проверку логического значения для своих объектов, используя магический метод __bool__:


class Rectangle:
def __init__(self, width, height):
self._w = width
self._h = height

def __bool__(self):
return bool(self._w and self._h)

print(bool(Rectangle(2, 3))) # True
print(bool(Rectangle(2, 0))) # False
print(bool(Rectangle(0, 2))) # False


Обратите внимание, что в Python 2 аналогом __bool__ является метод __nonzero__.

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

🐍 Как ускорить работу с pandas?

Сегодня я покажу вам несколько способов ускорить работу с pandas, если у вас большие объемы данных.

1️⃣ Используйте categorical тип данных
Если у вас есть столбцы с повторяющимися строковыми значениями (например, категории товаров), лучше преобразовать их в category:


df["category"] = df["category"].astype("category")

Это снизит использование памяти и ускорит фильтрацию.

2️⃣ Читайте файлы быстрее
Стандартный pandas.read_csv() не всегда работает быстро. Можно попробовать:

- Указать dtype столбцов
- Использовать usecols для загрузки только нужных колонок
- Применить pyarrow или fastparquet при работе с Parquet-файлами


df = pd.read_csv("data.csv", dtype={"id": "int32", "name": "category"}, usecols=["id", "name"])


3️⃣ Используйте numba и vectorize()
Если у вас есть сложные вычисления, попробуйте numba:


from numba import jit

@jit(nopython=True)
def expensive_function(x):
return x**2 + 10*x + 5

df["new_col"] = df["value"].apply(expensive_function)

Это ускорит обработку в разы!

4️⃣ modin вместо pandas
Если у вас мощный многопоточный процессор, попробуйте modin:


import modin.pandas as pd
df = pd.read_csv("data.csv")

Этот модуль использует все ядра процессора и ускоряет вычисления.

Какие еще трюки используете вы? Делитесь в комментариях!

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

В Python можно спутать две вещи: итерируемые объекты (iterables) и итераторы (iterators).

Итерируемые объекты — это объекты, которые можно перебирать, то есть из них можно извлекать значения по одному, возможно, бесконечно. Обычно итерируемыми объектами являются коллекции, такие как массивы, множества, списки и т. д.

Есть два способа сделать объект итерируемым. Первый — реализовать метод __getitem__:


class Iterable:
def __getitem__(self, i):
if i > 10:
raise IndexError
return i

print(list(Iterable()))


Вывод:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


Второй способ — определить метод __iter__, который возвращает итератор. Итератор — это объект, имеющий метод __next__, который при каждом вызове возвращает следующее значение из исходного итерируемого объекта:


class Iterator:
def __init__(self):
self._i = 0

def __next__(self):
i = self._i
if i > 10:
raise StopIteration
self._i += 1
return i

class Iterable:
def __iter__(self):
return Iterator()

print(list(Iterable()))


Вывод:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


Обычно итератор также имеет метод __iter__, который просто возвращает self. Это позволяет самому итератору быть итерируемым, то есть большинство итераторов также являются итерируемыми объектами.

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

🔥 5 полезных инструментов для Python-разработчика

Сегодня покажу вам 5 инструментов, которые могут серьезно упростить жизнь Python-разработчика. Они не на слуху, но реально полезны! 🚀

1️⃣ Rich – Красивый вывод в консоли
Больше не нужно мучиться с print(), когда надо отобразить таблицу, JSON или логи с цветами. Rich делает консольные приложения красивыми!


from rich import print
print({"name": "Alice", "age": 25})


📌 Установка: pip install rich

2️⃣ IceCream – Удобный отладочный принт
Если вы устали писать print(f"var={var}"), попробуйте icecream (ic). Он показывает и имя переменной, и её значение, и даже место вызова!


from icecream import ic
x = 42
ic(x) # x: 42


📌 Установка: pip install icecream

3️⃣ Pydantic – Валидация данных без боли
Больше не нужно вручную проверять типы и структуру входных данных. Pydantic делает это автоматически.


from pydantic import BaseModel

class User(BaseModel):
name: str
age: int

user = User(name="Alice", age="25") # ❌ Ошибка, age должен быть int


📌 Установка: pip install pydantic

4️⃣ Typer – Быстрое создание CLI
Хотите создать CLI-приложение, но не любите argparse? Typer использует аннотации типов и делает это проще.


import typer

def main(name: str):
print(f"Hello {name}!")

if __name__ == "__main__":
typer.run(main)


📌 Установка: pip install typer

5️⃣ loguru – Логирование без боли
Более мощная альтернатива стандартному logging, с удобным API и красивым выводом.


from loguru import logger
logger.info("Это информационное сообщение!")


📌 Установка: pip install loguru

Какими инструментами пользуетесь вы? Делитесь в комментариях! ⬇

👉 @BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Есть две встроенные функции, которые позволяют анализировать итерируемые объекты без написания тривиальных и избыточных условий if. Это all и any.

- any возвращает True, если хотя бы одно из значений истинно.
- all возвращает True, если все значения истинны.
- all возвращает True для пустого итерируемого объекта, тогда как any в этом случае вернёт False.

Обе функции особенно полезны при использовании вместе с генераторами и списковыми включениями:


package_broken = any(
part.is_broken() for part in package.get_parts()
)
package_ok = all(
part.ok() for part in package.get_parts()
)


Функции any и all зачастую взаимозаменяемы благодаря законам де Моргана. Выбирайте ту, которая делает код более понятным.

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Встречайте Масленицу в Дзене

⚡ Собрали всё важное по теме Масленица.
Последние новости, афиша событий, история традиций и рецепты блинов от шефов. Читайте и смотрите в Дзене!

Узнать больше

#реклама
dzen.ru

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

Подборка Telegram каналов для программистов

/channel/lifeproger Жизнь программиста. Авторский канал.
/channel/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
/channel/rabota1C_rus 1С Работа

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

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

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

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

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

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

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

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

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

Разработка игр 📌
/channel/game_devv Все о разработке игр

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

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

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

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

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

Excel лайфхак📌
/channel/Excel_lifehack

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

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Библиотека Python разработчика | Книги по питону

Как быстро очистить список в Python?

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

1️⃣ Присвоение пустого списка

lst = [1, 2, 3, 4, 5]
lst = []


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

2️⃣ Использование .clear()

lst = [1, 2, 3, 4, 5]
lst.clear()


Метод .clear() очищает список на месте, не создавая новый объект. Это предпочтительный способ, если список используется в нескольких местах.

3️⃣ Использование del

lst = [1, 2, 3, 4, 5]
del lst[:]


Работает аналогично .clear(), но выглядит чуть менее очевидно.

4️⃣ Удаление списка полностью

lst = [1, 2, 3, 4, 5]
del lst


Этот вариант полностью удаляет переменную lst. Если потом попробовать к ней обратиться, будет ошибка NameError.

🔹 Какой способ лучше?
• Если нужно просто очистить список, используйте .clear().
• Если хотите заменить его новым объектом — lst = [].
• del lst[:] – редкий вариант, но возможен.
• del lst подходит, если список больше не нужен в программе.

Какой вариант используете вы? Пишите в комментариях!

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

🚀 5 крутых Python-фишек, о которых знают не все

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


1. Используем else в for и while
Многие не знают, что в Python циклы for и while могут иметь блок else. Он выполняется, если цикл не был прерван через break.

✅ Пример:


numbers = [1, 3, 5, 7]

for num in numbers:
if num % 2 == 0:
print("Есть чётное число!")
break
else:
print("Чётных чисел нет.")

🔹 Если в списке нет чётных чисел, сработает else.



2. "Распаковка" переменных
В Python можно присваивать сразу несколько значений одной строкой.

✅ Пример:

a, b, c = 1, 2, 3
print(a, b, c) # 1 2 3


Можно менять местами значения без временной переменной:

x, y = 5, 10
x, y = y, x
print(x, y) # 10 5




3. Используем _ в больших числах
Чтобы числа легче читались, можно разделять разряды _.

✅ Пример:

big_number = 1_000_000_000
print(big_number) # 1000000000

Это просто синтаксический сахар, Python игнорирует _ при вычислениях.



4. Получаем значение из словаря с запасным вариантом
Вместо if key in dict можно использовать .get(), чтобы избежать KeyError.

✅ Пример:

user_data = {"name": "Alice"}

age = user_data.get("age", 18) # Если ключа "age" нет, вернётся 18
print(age) # 18




5. "Распаковка" списка в аргументы функции
Оператор * позволяет передавать элементы списка в функцию как отдельные аргументы.

✅ Пример:

def greet(name, age):
print(f"Привет, {name}! Тебе {age} лет.")

user_info = ["Иван", 25]
greet(*user_info) # Привет, Иван! Тебе 25 лет.

То же работает со словарями через **:

user_dict = {"name": "Ольга", "age": 30}
greet(**user_dict)



🧐 Итог
Эти фишки делают код лаконичнее и понятнее. Какую из них вы уже использовали? Может, знаете ещё что-то крутое? Делитесь в комментариях! 👇

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

PEP 8 – это основополагающий стиль программирования в Python, и следовать ему настоятельно рекомендуется. Инструмент pycodestyle позволяет автоматически проверять код на соответствие этому стандарту.

🔧 Как установить и использовать pycodestyle
Установите инструмент через pip:


pip install pycodestyle

Чтобы проверить весь проект в текущей директории, выполните:

pycodestyle . -qq --statistics

Флаги:
- . — проверка всей текущей директории.
- -qq — подавляет ненужные сообщения, оставляя только ошибки.
- --statistics — выводит краткую сводку по ошибкам.

🧐 Примеры ошибок и их исправление
1️⃣ E302 – Ожидалось 2 пустых строки перед объявлением функции/класса:

def my_function():
print("Hello, world!")

✅ Исправление:


def my_function():
print("Hello, world!")


2️⃣ E501 – Строка слишком длинная (> 79 символов):

print("Это очень длинная строка, которая превышает 79 символов и вызывает ошибку E501")

✅ Исправление:

print(
"Это очень длинная строка, которая превышает 79 символов "
"и вызывает ошибку E501"
)


Альтернативные инструменты
- flake8 – более мощный анализатор кода, объединяет pycodestyle, pyflakes и mccabe.
- black – автоформаттер кода, следит за PEP 8 и правит стиль автоматически.
- isort – сортирует импортированные модули.

🚀 Вывод: Использование pycodestyle и других инструментов помогает поддерживать чистоту и читаемость кода, а также облегчает командную работу.

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Подборка Telegram каналов для программистов

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

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

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

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

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

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

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

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

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

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

Разработка игр 📌
/channel/game_devv Все о разработке игр

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

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

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

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

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

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

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

Excel лайфхак📌
/channel/Excel_lifehack

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

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Библиотека Python разработчика | Книги по питону

Умеешь вести за собой? Тогда держи идею на 70+К в мес

Как думаешь, что это? Конечно, путешествия.

Ты знала, как:
✅ отдыхать постоянно за половину цены или бесплатно, если едешь вместе со своей командой?
✅ жить без дедлайнов и не зависеть от закрытия месяцев?
✅ вести свой сетевой бизнес из любой точки мира среди ярких красок и тепла круглый год?

Наши партнеры получают таким образом доп доход в среднем 70-200К в месяц.


Кто мы?
Один из крупнейших туроператоров РФ VIA TOURISM. Сейчас расширяем сеть присутствия. В честь этого открываем доступ к обучению новым партнёрам и отдаём готовые заказы. И заодно рассказываем про секретные сервисы турагентов для самых крутых и выгодных путешествий.

Узнай об этом больше на бесплатном вебинаре.

Узнать больше

#реклама 16+
via-tourism.school

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

Если у вас есть ресурсоемкая задача для процессора и вы хотите использовать все доступные ядра, то multiprocessing.Pool — это то, что вам нужно. Он создает несколько процессов и автоматически распределяет между ними задачи. Просто создайте пул с Pool(number_of_processes) и выполните p.map с списком входных данных.


import math
from multiprocessing import Pool

inputs = [i ** 2 for i in range(100, 130)]

def f(x):
return len(str(math.factorial(x)))

# Однопоточное выполнение
%timeit [f(x) for x in inputs]
# 1.44 s ± 19.2 ms per loop (...)

# Параллельное выполнение с 4 процессами
p = Pool(4)
%timeit p.map(f, inputs)
# 451 ms ± 34 ms per loop (...)


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

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Апартаменты в Крыму в 30 метрах от моря

✨Утром вы вышли на балкон, выпили чашку кофе с видом на морскую гладь

Вокруг тишина, солёный бриз и солнце круглый год

Все это может стать вашим

Апартаменты в 30 метрах от моря

-14.5 га закрытой территории с концепцией "город в городе"

-2 бассейна

-SPA центр

❤️Ряд ярких достопримечательностей:

-Карадагский заповедник

-Мыс Хамелеон

-Крымский дельфинарий

✅Получите подробную презентацию комплекса и получите планировки под ваш запрос + инвестиционную выгоду с консультацией менеджера!

Получить предложение

Проектная декларация на сайте https://наш.дом.рф/

#реклама
krym-nedvizh.ru

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

🔥Podlodka Python Crew — это онлайн-конференции по самым актуальным темам для питонистов.

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

С 17 по 21 марта пройдет сезон, посвященный оптимизации работы Python-приложений. Разбираем профилирование, внутренности CPython и техники ускорения кода.

🎯Что в программе?

Оптимизации, которые вы могли упустить — Александр Кучин (Литрес) расскажет, какие скрытые проблемы могут замедлять код и как их исправить 🚀

Как работает CPython — от запуска скрипта до управления памятью — Василий Рябов разберет, как Python читает и выполняет код, управляет памятью и garbage collection 📌

Своя Игра: уровни глубины знаний Python-разработчика — Нина Лукина и Евгений Афонасьев в формате викторины объяснят, как Python работает под капотом. Это будет эпично 🎮

Профилирование на Python — Василий Исаев (Точка) объяснит, как находить узкие места в коде и повышать его производительность с помощью профилирования 💡

Подходы, которые можно внедрить сразу после конференции!

🔗 Подробности и билеты: https://podlodka.io/pythoncrew

Читать полностью…

Библиотека Python разработчика | Книги по питону

ПИФы от СберИнвестиций под управлением УК «Первая»

Простой и понятный способ инвестировать 👌

Инвестируйте от 100 ₽ в Сбербанк Онлайн⚡ Ежеквартальные выплаты дохода на вашу карту ✅

Узнать больше

Финансовые услуги оказывает: АО УК «Первая».

#реклама
sberbank.com

О рекламодателе

Читать полностью…

Библиотека Python разработчика | Книги по питону

Обычно вам не нужно заботиться об объектах-итераторах; они создаются и используются автоматически конструкциями for, list или другими механизмами, которые выполняют итерацию за вас. Однако в некоторых редких случаях вам может понадобиться получить итератор из итерируемого объекта явно. Правильный способ сделать это — использовать встроенную функцию iter (которая использует методы __iter__ или __getitem__ объекта для получения итератора):


part_sizes = [3, 2, 5]
iterator = iter(range(100))

result = []
for size in part_sizes:
part = []
for _ in range(size):
part.append(next(iterator))
result.append(part)

assert result == [
[0, 1, 2],
[3, 4],
[5, 6, 7, 8, 9],
]


Забавный факт: iter можно использовать совершенно другим способом. Вместо создания итератора из объекта, он также может создавать итератор из функции (или любого вызываемого объекта). Если вызвать iter с двумя аргументами, первый должен быть вызываемым объектом, а второй — контрольным значением (sentinel). При каждом вызове __next__ созданный итератор будет вызывать переданную функцию без аргументов. Если возвращённое значение равно sentinel, возбуждается исключение StopIteration; в противном случае возвращается полученное значение.

Обычно это удобно для чтения строк до появления определённого маркера:


In : list(iter(input, 'END'))
a
b

END
Out: ['a', 'b', '']


👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Python-разработчики уже который год остаются одними из самых востребованных на рынке. По данным Хабр Карьера, сейчас для них открыто около десяти тысяч вакансий со средней зарплатой 196 000 рублей.

Попробуйте себя в этой профессии на бесплатном курсе Нетологии «Основы Python: создаём телеграм-бота». За 5 занятий вы не просто познакомитесь с логикой работы языка и научитесь применять базовые конструкции, но и напишете телеграм-бота и планировщик задач.

После основной части курса вам откроется тренажёр-симулятор с рабочими задачами специалиста — сможете взглянуть на профессию разработчика изнутри, узнать, как выглядит общение в команде, и создадите программу для интернет-магазина зоотоваров. А начинать учиться можно сразу.

Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5wszgjz

Читать полностью…

Библиотека Python разработчика | Книги по питону

Дарим подписку на Яндекс Музыку

Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️

Попробовать

#реклама 18+
music.yandex.ru

О рекламодателе
Реклама на Яндексе

Читать полностью…

Библиотека Python разработчика | Книги по питону

📌 Декораторы в Python: как они работают и зачем нужны?

Сегодня я покажу вам, как работают декораторы в Python и зачем они вообще нужны.

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

Допустим, у нас есть функция, которая просто выводит «Hello, world!»:


def greet():
print("Hello, world!")


Теперь мы хотим, чтобы перед выполнением этой функции выполнялся какой-то код, например, логирование. Вместо изменения greet(), мы создадим декоратор:


def log_decorator(func):
def wrapper():
print(f"Вызов функции {func.__name__}")
return func()
return wrapper


И теперь используем его:


@log_decorator
def greet():
print("Hello, world!")

greet()


👉 Вывод:

Вызов функции greet
Hello, world!


Как это работает?
1. Декоратор принимает функцию (`func`) в качестве аргумента.
2. Внутри создаётся вложенная функция wrapper(), которая выполняет дополнительную логику перед вызовом func().
3. wrapper() возвращается вместо func, фактически подменяя её.

Можно даже передавать аргументы в декорируемую функцию:


def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов {func.__name__} с аргументами: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper

@log_decorator
def add(a, b):
return a + b

print(add(3, 5))


👉 Вывод:

Вызов add с аргументами: (3, 5), {}
8


🔥 Декораторы — мощный инструмент, который делает код чище и удобнее. Если ещё не использовали их в проектах, самое время попробовать!

А какие декораторы вы используете в своих проектах? Делитесь в комментариях! ⬇️

👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

Если 'port' нет в config, устанавливаем его значение по умолчанию:


if 'port' not in config:
config['port'] = 80
port = config['port']


Но можно сделать это более элегантно с помощью setdefault:


port = config.setdefault('port', 80)


Метод setdefault устанавливает новое значение, если оно ещё не задано, и возвращает сохранённое значение вне зависимости от того, было ли оно изменено:


In : config = {}
In : config.setdefault('port', 80)
Out: 80
In : config.setdefault('port', 443)
Out: 80


👉@BookPython

Читать полностью…

Библиотека Python разработчика | Книги по питону

🐍 Как улучшить читаемость кода в Python?

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

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


a = 10
b = 20
c = a + b

Хороший пример:

price = 10
tax = 20
total_cost = price + tax

Теперь сразу понятно, что делает код!

2️⃣ Разбивайте код на функции
Вместо длинных кусков кода, используйте функции:

def calculate_total(price, tax):
return price + tax

total_cost = calculate_total(10, 20)

Теперь код можно переиспользовать и проще тестировать.

3️⃣ Следуйте PEP 8
Форматирование кода влияет на его читаемость. Например, пробелы вокруг операторов делают код более понятным:

# Плохо
total=price+tax
# Хорошо
total = price + tax

Пользуйтесь black или flake8, чтобы следить за стилем.

4️⃣ Избегайте магических чисел
Если в коде встречаются непонятные числа, лучше заменить их на константы:

# Плохо
if age > 18:
print("Взрослый")

# Хорошо
LEGAL_AGE = 18
if age > LEGAL_AGE:
print("Взрослый")


5️⃣ Используйте list comprehensions
Вместо:

numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
squared_numbers.append(num ** 2)

Лучше:

squared_numbers = [num ** 2 for num in numbers]

Чище и лаконичнее!

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

👉 @BookPython

Читать полностью…
Subscribe to a channel