Как оценить время, необходимое на разработку
Заметили, что постоянно срываете сроки сдачи проекта? Скорее всего, вы просто не можете правильно оценить время, которое требуется на разработку.
#статьядня
https://prglb.ru/3y4ym
Заметили, что постоянно срываете сроки сдачи проекта? Скорее всего, вы просто не можете правильно оценить время, которое требуется на разработку.
#статьядня
https://prglb.ru/3y4ym
Библиотека программиста
Как оценить время, необходимое на разработку
Заметили, что постоянно срываете сроки сдачи проекта? Скорее всего, вы просто не можете правильно оценить время, которое требуется на разработку.
Этот учебник проведет вас через регулярные выражения Python (RegEx)
Рассмотрена каждая мелочь, чтобы сделать эту тему проще. Синтаксис, используемый здесь, предназначен для Python 3. Вы можете изменить его для использования с другими версиями Python.
#полезностьдня
https://prglb.ru/2spom
Рассмотрена каждая мелочь, чтобы сделать эту тему проще. Синтаксис, используемый здесь, предназначен для Python 3. Вы можете изменить его для использования с другими версиями Python.
#полезностьдня
https://prglb.ru/2spom
#codeexample
Несмотря на то, что язык программирования Python с динамической типизацией, бывают случаи, когда нужно проверить тип элемента:
Несмотря на то, что язык программирования 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, инструментам, которые были исторически доступны для развертывания приложений, проблемам / ограничениям, представленным ими, и представляет собой целостное решение многих из этих проблем: Pipenv.
Speaker: Kenneth Reitz
https://prglb.ru/51s6g
Как Вам, наверняка, известно, инструменты Python поддерживают функциональное программирование
#полезностьдня
Применяем функцию к каждому элементу последовательности:
Отфильтруем элементы последовательности, которые больше 5:
Следующая функция вычисляет сумму элементов последовательности:
#полезностьдня
Применяем функцию к каждому элементу последовательности:
<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
Автор: Мигель Гринберг
Автор книги познакомит вас с основным функционалом и структурой фреймворка, продемонстрировав это на создании законченного приложения социального блогинга.
#книгадня
Примеры:
https://prglb.ru/3ppwv
Скачать книгу:
https://t.me/progbook/2396
29 Python-проектов, оказавших огромное влияние на разработку
Пишете код на Python? Собрали для вас подборку полезных Python-проектов, которые спасали разработчиков на протяжении 2018 года.
#статьядня
https://prglb.ru/4jjlq
Пишете код на Python? Собрали для вас подборку полезных Python-проектов, которые спасали разработчиков на протяжении 2018 года.
#статьядня
https://prglb.ru/4jjlq
#codeexample
Разработчики Python обычно инициализируют словарь по-разному:
Безусловно, результат тот же, но давайте погрузимся глубже:
Похоже, что вторая инициализация словаря, по крайней мере, в два раза медленнее.
Давайте посмотрим, почему это происходит, используя модуль dis, который позволяет проверять внутренности байт-кода python:
Ответ очевиден - всякий раз, когда вы предпочитаете dict () вместо {}, вы теряете дополнительное время на вызов избыточной функции.
Но в большинстве приложений на Python это не имеет значения, потому что мы имеем дело с микросекундами. Во всяком случае - имейте в виду.
Разработчики 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#;
✔️ создать сайт;
✔️ написать приложение и др.
Успей присоединиться — количество бесплатных мест ограничено!
Регистрация уже началась 👉 https://goo.gl/t1bhNG
Узнай о том, как:
✔️ правильно выбрать язык программирования;
✔️ программировать на Python, Java, C#;
✔️ создать сайт;
✔️ написать приложение и др.
Успей присоединиться — количество бесплатных мест ограничено!
PyTorch является одним из основных инструментов, используемых в наши дни для изучения машинного обучения. Он разрабатывался в бета-режиме уже более 2 лет, но в октябре этого года был выпущен кандидат на выпуск версии 1.0! В этом выступлении автор кратко представит библиотеку, а затем перейдет к демонстрации новейших функций.
#видеодня
EVENT: PyData Warsaw 2018
Speaker: Adam Paszke
https://prglb.ru/4swyq
#видеодня
EVENT: PyData Warsaw 2018
Speaker: Adam Paszke
https://prglb.ru/4swyq
Библиотека Matplotlib построена на принципах ООП, но имеет процедурный интерфейс pylab, который предоставляет аналоги команд MATLAB
#youtubeдня
https://prglb.ru/5ezs6
#youtubeдня
https://prglb.ru/5ezs6
Когда вы пишете надежный код, тесты необходимы для проверки правильности, надежности и эффективности логики вашего приложения. Однако ценность ваших тестов зависит от того, насколько хорошо они демонстрируют эти критерии. Препятствия, такие как сложная логика и непредсказуемые зависимости, затрудняют написание ценных тестов. Библиотека фиктивных объектов Python, unittest.mock, может помочь вам преодолеть эти препятствия.
#статьядня
https://prglb.ru/3lsbb
#статьядня
https://prglb.ru/3lsbb
👍1
#codeexample
Python 3.5+ позволяет передавать несколько наборов
аргументов ключевого слова («kwargs») для функции в пределах одного вызова, используя синтаксис «»:
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
The Quick Python Book
Автор: Naomi Ceder
Вместе с автором вы пройдёте путь от начинающего разработчика, изучив массивы, основы работы с функциями, регулярные выражения, а также базовые концепции объектно-ориентированного программирования.
#книгадня
Скачать книгу:
https://t.me/progbook/2626
Автор: Naomi Ceder
Вместе с автором вы пройдёте путь от начинающего разработчика, изучив массивы, основы работы с функциями, регулярные выражения, а также базовые концепции объектно-ориентированного программирования.
#книгадня
Скачать книгу:
https://t.me/progbook/2626
Самый полный видеокурс по Django от установки до проекта
Занимательный видеокурс по Django на примере создания интернет-магазина.
#статьядня
https://prglb.ru/2vfep
Занимательный видеокурс по Django на примере создания интернет-магазина.
#статьядня
https://prglb.ru/2vfep
Когда вы разветвляете свой процесс, случайное начальное число, которое вы используете, копируется между процессами. Это может привести к тому, что процессы будут давать одинаковый «случайный» результат.
Чтобы избежать этого, вы должны вручную вызывать
Однако, если вы используете multiprocessing, он делает это за вас.
# Результат:
4 4 4 5 5
1 4 1 3 3
2 2 2 2 2
Более того, если вы используете Python 3.7 или новее,
Вывод приведенного выше кода для Python 3.7:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
Чтобы избежать этого, вы должны вручную вызывать
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 с примерами. Осторожно: много кода!
#статьядня
https://prglb.ru/1gzq2
Управление несколькими версиями Python с помощью pyenv
Из данной статьи вы узнаете:
Установите несколько версий Python
Установите последнюю версию Python для разработки
Переключение между установленными версиями
Используйте виртуальные среды с pyenv
Активируйте разные версии Python и виртуальные среды автоматически
#статьядня
https://prglb.ru/j69v
Из данной статьи вы узнаете:
Установите несколько версий Python
Установите последнюю версию Python для разработки
Переключение между установленными версиями
Используйте виртуальные среды с pyenv
Активируйте разные версии Python и виртуальные среды автоматически
#статьядня
https://prglb.ru/j69v
Realpython
Managing Multiple Python Versions With pyenv – Real Python
In this step-by-step tutorial, you'll learn how to install multiple Python versions and switch between them with ease, including project-specific virtual environments, even if you don't have sudo access with pyenv.