
🔥 Заказ на 20+ каналов — шанс выиграть iPhone 16 Pro
Массовые размещения дают просмотры в 2-3 раза дешевле и участие в розыгрыше
В каталог

РегистрацияВойтиВойти
Скидка 3,5% на первые три заказа
Получите скидку на первые три заказа!
Зарегистрируйтесь и получите скидку 3,5% на первые рекламные кампании — промокод активен 7 дней.
Купить рекламу в этом канале
Формат:
keyboard_arrow_down
- 1/24
- 2/48
- 3/72
- 7 дней
- Репост
1 час в топе / 24 часа в ленте
Количество:
keyboard_arrow_down
- 1
- 2
- 3
- 4
- 5
- 8
- 10
- 15
Стоимость публикации:
local_activity
8 181.81₽8 181.81₽local_mall
0.0%
Осталось по этой цене:0
Последние посты канала
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
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
https://t.me/razrab_1C 1C Разработчик
https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://t.me/rabota1C_rus Вакансии для программистов 1С
Программирование 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 академия.
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python
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/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
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 программиста
https://t.me/lifeproger Жизнь программиста. Авторский канал.
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 Обучающие видео, книги по Физике и Математике
https://t.me/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
1843
18:12
27.07.2025
Самый большой недостаток объектов с
__slots__
заключается в том, что они не могут динамически получать произвольные атрибуты. Однако можно совместить подход с __slots__
и обычным __dict__
.
Чтобы включить возможность динамического присваивания атрибутов объекту, просто добавьте '__dict__'
в __slots__
:
class A:
__slots__ = ('a', 'b', '__dict__')
A().x = 3
{}
Также учтите, что наследуемые классы автоматически получают __dict__
, если явно не указаны пустые __slots__
:
class A:
__slots__ = ('a', 'b')
class B(A):
pass
B().x = 3
{}
👉@BookPython1849
12:50
27.07.2025
Reduce
— это функция высшего порядка, которая рекурсивно обрабатывает итерируемый объект, применяя некоторое действие к следующему элементу и уже вычисленному значению. Возможно, вы также знаете её под названиями fold, inject, accumulate или другими.
Reduce
с выражением result = result + element
даёт сумму всех элементов, result = min(result, element)
— минимум, а result = element
позволяет получить последний элемент последовательности.
В Python есть функция reduce
(в Python 3 она перенесена в functools.reduce
):
from functools import reduce
reduce(lambda s, i: s + i, range(10))
# 45
reduce(lambda s, i: min(s, i), range(10))
# 0
reduce(lambda s, i: i, range(10))
# 9
{}
Кроме того, если вам нужны простые лямбда-функции вроде a, b: a + b
, Python предлагает модуль operator
:
from operator import add
reduce(add, range(10))
# 45
{}
👉@BookPython2138
10:53
25.07.2025
Некоторые модули Python компилируются непосредственно в сам интерпретатор. Они называются встроенными модулями (built-in), и их не следует путать со стандартной библиотекой. Чтобы получить полный список таких модулей, можно использовать
sys.builtin_module_names
. Примеры таких модулей — sys
, gc
, time
и т. д.
Обычно вам не важно, является ли модуль встроенным или нет; однако стоит иметь в виду, что import
сначала ищет модуль среди встроенных. Поэтому будет загружен встроенный модуль sys
, даже если в текущей директории есть файл sys.py
. С другой стороны, если, например, в текущей директории есть файл datetime.py
, он действительно может быть загружен вместо стандартного модуля datetime
.
👉@BookPython2154
08:48
23.07.2025
collections.defaultdict
позволяет создать словарь, который возвращает значение по умолчанию, если запрашиваемого ключа нет (вместо того чтобы выбрасывать исключение KeyError
).
При создании defaultdict
необходимо указывать не само значение по умолчанию, а фабрику для его создания.
Это позволяет создавать словари с бесконечным числом вложенных уровней, что дает возможность писать что-то вроде d[a][b][c]...[z]
.
>>> def infinite_dict():
... return defaultdict(infinite_dict)
...
>>> d = infinite_dict()
>>> d[1][2][3][4] = 10
>>> dict(d[1][2][3][5])
{}
{}
Такое поведение называется “автовивификация” (от англ. autovivification) — термин пришёл из языка Perl.
👉@BookPython2176
10:27
22.07.2025
Скажем, вы хотите получить первые N элементов итерируемого объекта. Прямолинейный способ — использовать
islice
:
from itertools import islice
def fib():
a, b = 0, 1
while True:
yield b
a, b = b, (a + b)
list(islice(fib(), 5))
# Результат: [1, 1, 2, 3, 5]
{}
Если вы также хотите получить индексы элементов, можно применить enumerate
:
list(enumerate(islice(fib(), 5)))
# Результат: [(0, 1), (1, 1), (2, 2), (3, 3), (4, 5)]
{}
Другой способ сделать это — использовать zip
и range
, что может показаться более читаемым:
list(zip(range(5), fib()))
# Результат: [(0, 1), (1, 1), (2, 2), (3, 3), (4, 5)]
{}
👉@BookPython2138
08:52
21.07.2025
Когда вы используете
fork
для создания нового процесса, текущее состояние генератора случайных чисел (включая seed) копируется в дочерний процесс. Это может привести к тому, что разные процессы будут генерировать одинаковые «случайные» значения.
Чтобы избежать этого, необходимо вручную вызывать random.seed()
в каждом процессе.
Однако, если вы используете модуль multiprocessing
, он уже автоматически выполняет это за вас.
Пример:
import multiprocessing
import random
import os
import sys
def test(a):
print(random.choice(a), end=' ')
a = [1, 2, 3, 4, 5]
# Вызов в основном процессе
for _ in range(5):
test(a)
print()
# Вызов с multiprocessing.Process
for _ in range(5):
p = multiprocessing.Process(
target=test, args=(a,)
)
p.start()
p.join()
print()
# Вызов с использованием os.fork
for _ in range(5):
pid = os.fork()
if pid == 0:
test(a)
sys.exit()
else:
os.wait()
print()
{}
Вывод будет примерно такой:
4 4 4 5 5
1 4 1 3 3
2 2 2 2 2
{}
Причём, начиная с Python 3.7, os.fork
также использует механизм at_fork
hook, который переинициализирует генератор случайных чисел, как и multiprocessing
.
Так что в Python 3.7+ вывод кода выше может быть таким:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
{}
👉@BookPython1875
15:15
20.07.2025
Оператор in можно использовать с генераторами:
x in g
.
Python будет итерироваться по g
, пока не найдёт x
или пока генератор не закончится.
>>> def g():
... print(1)
... yield 1
... print(2)
... yield 2
... print(3)
... yield 3
...
>>> 2 in g()
1
2
True
{}
Однако range()
делает для вас больше.
У него переопределён магический метод __contains__
, который позволяет оператору in
работать с O(1) сложностью:
In [1]: %timeit 10**20 in range(10**30)
375 ns ± 10.7 ns per loop
{}
Имейте в виду, что это не работает для функции xrange()
в Python 2.
👉@BookPython1089
08:18
19.08.2025
imageИзображение не доступно для предпросмотра
Готовимся к школе с Wildberries!
На WB вы найдете всё необходимое для учебы: рюкзаки, форма, канцтовары, техника и тысячи других товаров по суперценам!⚡ Подготовка к школе без лишних трат!!📚🎓
Посмотреть каталог
#реклама 16+
wildberries.ru
О рекламодателе
799
08:45
20.08.2025
Некоторый код, который вы используете, может выводить данные, представляющие для вас интерес, в
stdout
, вместо того чтобы предоставлять какой-то API, пригодный для использования в программе (например, возвращать строку).
Вместо того чтобы рефакторить такой код, вы можете использовать менеджер контекста contextlib.redirect_stdout
, который позволяет временно перенаправить stdout
в любой объект, похожий на файл. В связке с io.StringIO
это позволяет захватывать вывод в переменную.
from contextlib import redirect_stdout
from io import StringIO
s = StringIO()
with redirect_stdout(s):
print(42)
print(s.getvalue())
{}
Также доступен contextlib.redirect_stderr
для перенаправления sys.stderr
.
👉@BookPython817
08:59
20.08.2025
close
С этим каналом часто покупают
Отзывы канала
keyboard_arrow_down
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
5.0
1 отзыва за 6 мес.
Превосходно (100%) За последние 6 мес
n
**silvanovich@********.ru
на сервисе с апреля 2025
05.06.202509:40
5
Отличная цена
Показать еще
Лучшие в тематике
Новинки в тематике
Статистика канала
Рейтинг
7.9
Оценка отзывов
5.0
Выполнено заявок
30
Подписчики:
19.4K
Просмотры на пост:
lock_outline
ER:
4.9%
Публикаций в день:
1.0
CPV
lock_outlineВыбрано
0
каналов на сумму:0.00₽
Подписчики:
0
Просмотры:
lock_outline
Перейти в корзинуКупить за:0.00₽
Комментарий