Библиотека питониста | 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
#полезностьдня

В Python 3 вы можете использовать "*" в списках параметров функции, чтобы заставить вызывающую сторону использовать ключевые аргументы для определенных параметров:

def f (a, b, \*, c = 'x', d = 'y', e = 'z'):
# вернет 'Привет'


Чтобы передать значение для c, d и e, вам нужно явно передать его как именованные аргументы «ключ = значение»:

f (1, 2, 'p', 'q', 'v')

TypeError:
«f () принимает 2 позиционных аргумента, но было передано 5»

 f (1, 2, c = 'p', d = 'q', e = 'v')
'Привет'
Управление памятью в Python
Вы когда-нибудь задумывались, как Python обрабатывает ваши данные за кулисами? Как ваши переменные хранятся в памяти? Когда они удаляются?

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

#статьядня

https://prglb.ru/2600i
PayPal в Flask приложении
В данном видеокурсе автор расскажет как интегрировать PayPal в ваш проект.

#видеодня

https://prglb.ru/2odmv
​​​​Fluent Python
Автор: Лучано Рамальо

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

#книгадня

Скачать книгу:
https://t.me/progbook/2488
​​Знаете разницу между аналитиком, использующим лишь Excel, и специалистом, "вооруженным" Python для анализа данных? Представьте разницу между велосипедом и сверхзвуковым самолётом :)

В SkillFactory стартует курс "Python для анализа данных".
Вы получите структурированные знания и, главное, уверенные навыки анализа различных данных с помощью Python + личную менторскую поддержку → http://bit.ly/2NIdI95

Станьте спецом, в котором нуждается прогрессивный бизнес!
Как оценить время, необходимое на разработку
Заметили, что постоянно срываете сроки сдачи проекта? Скорее всего, вы просто не можете правильно оценить время, которое требуется на разработку.

#статьядня

https://prglb.ru/3y4ym
Этот учебник проведет вас через регулярные выражения Python (RegEx)
Рассмотрена каждая мелочь, чтобы сделать эту тему проще. Синтаксис, используемый здесь, предназначен для Python 3. Вы можете изменить его для использования с другими версиями Python.

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

https://prglb.ru/2spom
Python Junior подкаст. Разбираем код мини-блога Flaskr

#видеодня

https://prglb.ru/5u6ms
#codeexample

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

<type> = type(<el>) # <class 'int'> / <class 'str'> / ...
from numbers import Integral, Rational, Real, Complex, Number
<bool> = isinstance(<el>, Number)
Pipenv: будущее управления зависимостями в Python
Этот доклад посвящен истории создания пакетов Python, инструментам, которые были исторически доступны для развертывания приложений, проблемам / ограничениям, представленным ими, и представляет собой целостное решение многих из этих проблем: Pipenv.

Speaker: Kenneth Reitz

https://prglb.ru/51s6g
Как Вам, наверняка, известно, инструменты Python поддерживают функциональное программирование

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

Применяем функцию к каждому элементу последовательности:
<iter> = map(lambda x: x + 1, range(10)) # (1, 2, ..., 10)

Отфильтруем элементы последовательности, которые больше 5:
<iter> = filter(lambda x: x > 5, range(10)) # (6, 7, 8, 9)

Следующая функция вычисляет сумму элементов последовательности:
from functools import reduce
<int> = reduce(lambda out, x: out + x, range(10)) # 45
Flask Web Development
Автор: Мигель Гринберг

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

#книгадня

Примеры:
https://prglb.ru/3ppwv

Скачать книгу:
https://t.me/progbook/2396
29 Python-проектов, оказавших огромное влияние на разработку
Пишете код на Python? Собрали для вас подборку полезных Python-проектов, которые спасали разработчиков на протяжении 2018 года.

#статьядня

https://prglb.ru/4jjlq
#codeexample

Разработчики Python обычно инициализируют словарь по-разному:

foo = {}
foo = dict()


Безусловно, результат тот же, но давайте погрузимся глубже:

timeit.timeit('{}', number=10**8)
2.65754420599842
timeit.timeit('dict()', number=10**8)
6.245466648993897


Похоже, что вторая инициализация словаря, по крайней мере, в два раза медленнее.
Давайте посмотрим, почему это происходит, используя модуль dis, который позволяет проверять внутренности байт-кода python:

dis.dis('foo={}')
1 0 BUILD_MAP 0
2 STORE_NAME 0 (foo)
4 LOAD_CONST 0 (None)
6 RETURN_VALUE
dis.dis('foo=dict()')
1 0 LOAD_NAME 0 (dict)
2 CALL_FUNCTION 0
4 STORE_NAME 1 (foo)
6 LOAD_CONST 0 (None)
8 RETURN_VALUE


Ответ очевиден - всякий раз, когда вы предпочитаете dict () вместо {}, вы теряете дополнительное время на вызов избыточной функции.
Но в большинстве приложений на Python это не имеет значения, потому что мы имеем дело с микросекундами. Во всяком случае - имейте в виду.
​​С 11 по 29 марта пройдет серия бесплатных онлайн-конференций по программированию. Ведущие специалисты страны поделятся своими знаниями и секретами.

Регистрация уже началась 👉 https://goo.gl/t1bhNG

Узнай о том, как:
✔️ правильно выбрать язык программирования;
✔️ программировать на Python, Java, C#;
✔️ создать сайт;
✔️ написать приложение и др.

Успей присоединиться — количество бесплатных мест ограничено!
PyTorch является одним из основных инструментов, используемых в наши дни для изучения машинного обучения. Он разрабатывался в бета-режиме уже более 2 лет, но в октябре этого года был выпущен кандидат на выпуск версии 1.0! В этом выступлении автор кратко представит библиотеку, а затем перейдет к демонстрации новейших функций.

#видеодня

EVENT: PyData Warsaw 2018
Speaker: Adam Paszke

https://prglb.ru/4swyq
​​Библиотека Matplotlib построена на принципах ООП, но имеет процедурный интерфейс pylab, который предоставляет аналоги команд MATLAB

#youtubeдня

https://prglb.ru/5ezs6
Когда вы пишете надежный код, тесты необходимы для проверки правильности, надежности и эффективности логики вашего приложения. Однако ценность ваших тестов зависит от того, насколько хорошо они демонстрируют эти критерии. Препятствия, такие как сложная логика и непредсказуемые зависимости, затрудняют написание ценных тестов. Библиотека фиктивных объектов Python, unittest.mock, может помочь вам преодолеть эти препятствия.

#статьядня

https://prglb.ru/3lsbb
👍1
#codeexample

Python 3.5+ позволяет передавать несколько наборов
аргументов ключевого слова («kwargs») для функции в пределах одного вызова, используя синтаксис «»:

def process_data(a, b, c, d):
print(a, b, c, d)
 x = {'a': 1, 'b': 2}
y = {'c': 3, 'd': 4}


process_data(**x, **y)
# 1 2 3 4


process_data(**x, c=23, d=42)
#1 2 23 42