Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.78K photos
75 videos
51 files
4.36K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
​​​​The Quick Python Book
Автор: Naomi Ceder

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

#книгадня

Скачать книгу:
https://t.me/progbook/2626
​​Самый полный видеокурс по Django от установки до проекта
Занимательный видеокурс по Django на примере создания интернет-магазина.

#статьядня

https://prglb.ru/2vfep
Когда вы разветвляете свой процесс, случайное начальное число, которое вы используете, копируется между процессами. Это может привести к тому, что процессы будут давать одинаковый «случайный» результат.

Чтобы избежать этого, вы должны вручную вызывать 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()

for _ in range(5):                 
    p = multiprocessing.Process(   
        target=test, args=(a,))
    p.start()                      
    p.join()                       
print()                            

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.

Вывод приведенного выше кода для Python 3.7:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
​​Инструменты Python: лучшая шпаргалка для начинающих
Большая шпаргалка для питониста на любой случай. Рассмотрены основные инструменты Python с примерами. Осторожно: много кода!

#статьядня

https://prglb.ru/1gzq2
Управление несколькими версиями Python с помощью pyenv

Из данной статьи вы узнаете:
Установите несколько версий Python
Установите последнюю версию Python для разработки
Переключение между установленными версиями
Используйте виртуальные среды с pyenv
Активируйте разные версии Python и виртуальные среды автоматически

#статьядня

https://prglb.ru/j69v
Как создать приложение с графическим интерфейсом Python с помощью wxPython

- Начало работы с wxPython
- Определение GUI
- Создание скелетного приложения
- Создание рабочего приложения

#статьядня

https://prglb.ru/22iq4
Будущие питонисты и те, кто уже вышел на этот тернистый путь)
У нас появился канал с вакансиями специально для Вас!
Подписывайтесь и следите за обновлениями, а мы постараемся радовать Вас только самыми свежими и интересными предложениями на рынке!

Ждем Вас здесь: @pydevjob
Библиотека питониста | Python, Django, Flask pinned «Будущие питонисты и те, кто уже вышел на этот тернистый путь) У нас появился канал с вакансиями специально для Вас! Подписывайтесь и следите за обновлениями, а мы постараемся радовать Вас только самыми свежими и интересными предложениями на рынке! Ждем…»
#codeexample

Если вы хотите утверждать, что функция возвращает последовательность с ровно одним элементом, вы можете назначить результат последовательности из одного элемента. Синтаксис может выглядеть немного странно:

In [1]: def echo(*args):
   ...:     return args
   ...:
In [2]: a, = echo(1)
In [3]: a
Out[3]: 1
In [4]: a, = echo(1, 2)

...
ValueError: too many values to unpack (expected 1)

Это решение автоматически распаковывает этот единственный элемент в переменную, что может быть хорошо, а может и не быть.
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Направляется уведомление о внесении в «Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено» следующего(их) указателя (указателей) страницы (страниц) сайта в сети «Интернет»: https://proglib.io/p/wifi-hack/ .
itertools.combinations

itertools – впечатляющий модуль. У него так много разных методов, позволяющих экономить время. Есть даже репозиторий GitHub, содержащий ещё больше подобных инструментов.

#полезностьдня

Давайте посмотрим на метод combinations. Он принимает в качестве аргументов итерируемый объект и целое число. В результате получаем генератор, состоящий из всех возможных комбинаций итерируемого объекта. Максимальная длина последовательности равна указанному целому числу. Сочетания не дублируются:

import itertools

list(itertools.combinations([1, 2, 3, 4], 2))

[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
​​Небольшая полезность для Вас, друзья!

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

В этой статье автор предлагает несколько различных проектов, ресурсов и учебных пособий, которые вы можете использовать, чтобы начать создавать вещи с Python!

#статьядня

 https://prglb.ru/5q4o8
​​​Flask Web Development
Автор: Мигель Гринберг

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

В книге рассматриваются следующие темы:
- структура микрофреймворка;
- шаблоны;
- базы данных;
- веб-формы;
- система аутентификации, публикации и комментирования;
- тестирование и многое другое.

#книгадня

Примеры кода на github https://github.com/miguelgrinberg/flasky

Скачать книгу:
 https://t.me/progbook/2715
#полезностьдня

dict.fromkeys
Быстрый и красивый способ создания словаря со значениями по умолчанию:

In [18]: dict.fromkeys(["key1", "key2", "key3"], "DEFAULT_VALUE")
{'key1': 'DEFAULT_VALUE', 'key2': 'DEFAULT_VALUE', 'key3': 'DEFAULT_VALUE'}
​​Сортировки на Python
В Python есть встроенная функция sorted() - для сортировки итерируемых объектов и метод list.sort() - для сортировки списка с заменой исходного.
Рассмотрим, как они работают сейчас и как работали раньше.

#статьядня

https://prglb.ru/3kl3x
​​Метод главных компонент в питоне
Пошаговое руководство по анализу главных компонентов, простой, но мощной технике преобразования.

#полезностьдня

https://prglb.ru/7x61
Оптимизация численных расчетов в Python
Якуб Урбан продемонстрирует различные возможности для выполнения (в основном) численных расчетов в Python быстро. Расскажет об оптимизации и распараллеливании с использованием Numpy, Numba, Cython или Dask. Вы узнаете, что Python может быть таким же быстрым, как и Fortran, с минимальными усилиями. Если это невозможно, вы увидите, как плавно превратить Fortran / C / C ++ в модуль Python.

Event: PyData Prague, January 2019
Seaker: Jakub Urban

#видеодня

https://prglb.ru/5osl9
Хочешь понять английский за 2 часа? Посети бесплатный онлайн мастер-класс!
2 апреля, начало в 20.00 МСК
https://bit.ly/2UhaOxN

На мастер-классе Ты:
✔️Узнаешь причины, из-за которых Ты до сих пор не заговорил на английском;
✔️Поймешь самую сложную тему в английском;
✔️Узнаешь как отличить американский акцент от британского;
✔️Научишься запоминать десятки (а то и сотни) слов в день;
✔️Получишь фишки правильного произношения и сможешь легко общаться с каждым человеком!

Спикер: Алекс Рубанов - преподаватель из США 🔥
Интересно? Регистрируйся 👇🏼