Если вы хотите выполнить несколько итераций одновременно, функция zip может быть хорошим выбором.
#codeexample
Она возвращает генератор, который выдает кортежи, содержащие один элемент из каждой исходной итерации:
Обратите внимание, что zip принимает итераторы как отдельные аргументы, а не как список аргументов. Чтобы распаковать значения, вы можете использовать оператор *:
#codeexample
Она возвращает генератор, который выдает кортежи, содержащие один элемент из каждой исходной итерации:
In : eng = ['one', 'two', 'three']
In : ger = ['eins', 'zwei', 'drei']
In : for e, g in zip(eng, ger):
...: print('{e} = {g}'.format(e=e, g=g))
...:
one = eins
two = zwei
three = drei
Обратите внимание, что zip принимает итераторы как отдельные аргументы, а не как список аргументов. Чтобы распаковать значения, вы можете использовать оператор *:
In : list(zip(*zip(eng, ger)))
Out: [('one', 'two', 'three'), ('eins', 'zwei', 'drei')]
Pythran: как заставить работать код Python со скоростью С++
Хотите писать программы на Python, работающие со скоростью кода, написанного на С++? Достаточно добавить аннотацию Pythran!
#статьядня
https://prglb.ru/bhz7
Хотите писать программы на Python, работающие со скоростью кода, написанного на С++? Достаточно добавить аннотацию Pythran!
#статьядня
https://prglb.ru/bhz7
Шаблон проектирования Фабрика и его реализация в Python
Шаблоны проектирования стали популярной темой в конце 90-х годов после так называемой «Банды четырех»
Рассмотрим поподробнее шаблон проектирования Фабрика и его реализация в Python.
#статьядня
https://prglb.ru/4g2ss
Шаблоны проектирования стали популярной темой в конце 90-х годов после так называемой «Банды четырех»
Рассмотрим поподробнее шаблон проектирования Фабрика и его реализация в Python.
#статьядня
https://prglb.ru/4g2ss
Учебник Flask TodoMVC
Плюс этого учебника в том, что рассматривается не отдельно Flask, а Flask в связке с JS фреймворком Backbone.js.
#книгадня
https://prglb.ru/284po
Плюс этого учебника в том, что рассматривается не отдельно Flask, а Flask в связке с JS фреймворком Backbone.js.
#книгадня
https://prglb.ru/284po
Simplectic
Flask TodoMVC Part 1
The first article in the Flask TodoMVC turorial, a series that creates a Backbone.js backend with Flask for the TodoMVC app. In this article, we will create a Flask app using the Backbone.js example as a starting point.
Введение в Git и GitHub для разработчиков на Python
Самая известная система контроля версий в наши дни - Git, которая часто используется вместе с GitHub. Из этого туториала по вы узнаете все, что вам нужно знать об основах использования Git.
#полезностьдня
https://prglb.ru/2wxyk
Самая известная система контроля версий в наши дни - Git, которая часто используется вместе с GitHub. Из этого туториала по вы узнаете все, что вам нужно знать об основах использования Git.
#полезностьдня
https://prglb.ru/2wxyk
Scrapy: создаём краулер парсер на Python с нуля
Краулинг - процедура анализа веб-страниц, сбор информации и последующий вывод в структурированной форме.
Сейчас набирает популярность Scrapy Framework, который написан на языке Python. Этот простой фреймворк предоставит вам мощный инструмент, с которым вы быстро сможете краулить множество ресурсов.
#видеодня
https://prglb.ru/2xwjo
Краулинг - процедура анализа веб-страниц, сбор информации и последующий вывод в структурированной форме.
Сейчас набирает популярность Scrapy Framework, который написан на языке Python. Этот простой фреймворк предоставит вам мощный инструмент, с которым вы быстро сможете краулить множество ресурсов.
#видеодня
https://prglb.ru/2xwjo
#codeexample
Циклы
"""
"Бросайте" ValueError если
не находится в
"""
#
# которое выполняется только в том случае, если
# цикл завершился без оператора
# Если вы не фанат
# то можете сделать что-то вроде этого:
# Небольшое примечание:
Циклы
for
и while
в Python поддерживают предложение else
, которое выполняется только в том случае, если цикл завершается без выполнения оператора break
def contains(haystack, needle):
"""
"Бросайте" ValueError если
needle
не находится в
haystack
."""
for item in haystack:
if item == needle:
break
else:
#
Else
- это "предложение завершения",# которое выполняется только в том случае, если
# цикл завершился без оператора
break
raise ValueError('Needle not found')
contains([23, 'needle', 0xbadc0ffee], 'needle')
None
contains([23, 42, 0xbadc0ffee], 'needle')
ValueError: "Needle not found"
# Если вы не фанат
else
"условия завершения" в циклах,# то можете сделать что-то вроде этого:
def better_contains(haystack, needle):
for item in haystack:
if item == needle:
return
raise ValueError('Needle not found')
# Небольшое примечание:
if needle not in haystack:
raise ValueError('Needle not found')
Pro Python Best Practices
Автор: Kristian Rother
Любой язык программирования, развившись, приобретает такие практики и стандарты программирования на нём, которые делают ваш код чище и гибче. Python, несмотря на свой и без того грамотный синтаксис, также насчитывает множество таких практик. Настоящее руководство познакомит вас с методами отладки кода, с архитектурными приёмами и принципами управления большими данными.
#книгадня
Скачать книгу:
https://t.me/progbook/1861
Автор: Kristian Rother
Любой язык программирования, развившись, приобретает такие практики и стандарты программирования на нём, которые делают ваш код чище и гибче. Python, несмотря на свой и без того грамотный синтаксис, также насчитывает множество таких практик. Настоящее руководство познакомит вас с методами отладки кода, с архитектурными приёмами и принципами управления большими данными.
#книгадня
Скачать книгу:
https://t.me/progbook/1861
Визуализация данных c Python
Демонстрация основных методов Seaborn и Plotly
Пример визуального анализа данных
Подглядывание в n-мерное пространство с t-SNE
Домашнее задание
Обзор полезных ресурсов
#статьядня
https://prglb.ru/2nzbv
Демонстрация основных методов Seaborn и Plotly
Пример визуального анализа данных
Подглядывание в n-мерное пространство с t-SNE
Домашнее задание
Обзор полезных ресурсов
#статьядня
https://prglb.ru/2nzbv
Хабр
Открытый курс машинного обучения. Тема 2: Визуализация данных c Python
Второе занятие посвящено визуализации данных в Python. Сначала мы посмотрим на основные методы библиотек Seaborn и Plotly, затем поанализируем знакомый нам по п...
Чтобы создать метод класса, вы должны использовать декоратор
Этот метод может быть вызван непосредственно из класса, а не из его экземпляров, и принимает класс в качестве первого аргумента (обычно называемого cls, а не self).
Однако в модели данных Python есть два неявных метода класса:
#codeexample
@classmethod
.Этот метод может быть вызван непосредственно из класса, а не из его экземпляров, и принимает класс в качестве первого аргумента (обычно называемого cls, а не self).
Однако в модели данных Python есть два неявных метода класса:
__new__
и __init_subclass__
. Они работают точно так, как будто они украшены @classmethod
. __new__
создает новые экземпляры класса, __init_subclass__
- это ловушка, которая вызывается при создании производного класса.#codeexample
class Foo:
def _new_(cls, *args, **kwargs):
print(cls)
return super()._new_(
cls, *args, **kwargs
)
Foo() # <class '_main_.Foo'>
ТОП-15 трюков в Python 3, делающих код понятнее и быстрее
Подборка трюков в Python третьей версии, которая поможет вам при меньших усилиях писать более качественный программный код.
#статьядня
https://prglb.ru/3il01
Подборка трюков в Python третьей версии, которая поможет вам при меньших усилиях писать более качественный программный код.
#статьядня
https://prglb.ru/3il01
Заряжай свои классы с Python super()
Хотя Python не является чисто объектно-ориентированным языком, он достаточно гибкий и достаточно мощный, чтобы позволить вам создавать приложения с использованием объектно-ориентированной парадигмы. Один из способов - поддержка наследования, что он делает с помощью super().
#статьядня
https://prglb.ru/2vpnu
Хотя Python не является чисто объектно-ориентированным языком, он достаточно гибкий и достаточно мощный, чтобы позволить вам создавать приложения с использованием объектно-ориентированной парадигмы. Один из способов - поддержка наследования, что он делает с помощью super().
#статьядня
https://prglb.ru/2vpnu
Python для микроконтроллеров
MicroPython - это компактная и эффективная реализация языка программирования Python 3, которая включает небольшое подмножество стандартной библиотеки Python и оптимизирована для работы на микроконтроллерах и в стесненных условиях.
#видеодня
Event: media.cc.de 2018
Speaker: Christine Spindler
https://prglb.ru/lcwo
MicroPython - это компактная и эффективная реализация языка программирования Python 3, которая включает небольшое подмножество стандартной библиотеки Python и оптимизирована для работы на микроконтроллерах и в стесненных условиях.
#видеодня
Event: media.cc.de 2018
Speaker: Christine Spindler
https://prglb.ru/lcwo
Как запускать Python скрипты
Один из самых важных навыков, которые вам необходимо приобрести как разработчику на Python, - уметь запускать скрипты и код Python. Это единственный способ узнать, работает ли ваш код так, как вы запланировали. Это даже единственный способ узнать, работает ли ваш код вообще!
Этот пошаговый учебник проведет вас через серию способов запуска скриптов Python, в зависимости от вашей среды, платформы, потребностей и навыков.
#статьядня
https://prglb.ru/3056o
Один из самых важных навыков, которые вам необходимо приобрести как разработчику на Python, - уметь запускать скрипты и код Python. Это единственный способ узнать, работает ли ваш код так, как вы запланировали. Это даже единственный способ узнать, работает ли ваш код вообще!
Этот пошаговый учебник проведет вас через серию способов запуска скриптов Python, в зависимости от вашей среды, платформы, потребностей и навыков.
#статьядня
https://prglb.ru/3056o
Лямбда-выражения в Python не могут делать много вещей, которые могут делать обычные функции. У вас может быть только одно выражение как лямбда-тело, вы не можете использовать операторы (a = b, yield, await и т. Д.), лямбда-выражения не могут иметь подсказки типа или объявляться как асинхронные.
#codeexample
Однако, если вам действительно нужно превратить лямбда-выражения в асинхронную функцию, вы можете использовать декоратор
#codeexample
Однако, если вам действительно нужно превратить лямбда-выражения в асинхронную функцию, вы можете использовать декоратор
asyncio.coroutine
. Он был полезен до Python 3.4, пока не было введено ключевое слово async
, но в современном Python не имеет большого применения.
In : f = asyncio.coroutine(lambda x: x ** 2)
In : asyncio.get_event_loop().run_until_complete(f(12))
Out: 144
Если решили изучать Django и не знаете с чего начать, то вам в помощь официальная документация!
#полезностьдня
https://prglb.ru/5usit
#полезностьдня
https://prglb.ru/5usit
Погружаемся в Python!
Преподаватель курса: Алексей Александрович Кладов
Осень 2018
#youtubeдня
https://prglb.ru/3j6uy
Преподаватель курса: Алексей Александрович Кладов
Осень 2018
#youtubeдня
https://prglb.ru/3j6uy
Все еще считаете Python языком, который под силу лишь "технарям"? В SkillFactory стартует онлайн-курс "Python для анализа данных" где вы научитесь использовать Python для анализа, быстрой обработки больших массивов данных, проектирования системы сквозной аналитики, построения автоматически обновляемых отчетов.
Закажите план развития просто сейчас → https://goo.gl/5L8hkE
А тех, кто хотет начать карьеру разработчика, ребята из SkillFactory приглашают на онлайн-курс “Python для web-разработчиков” → https://goo.gl/yAeNZK где вы получите практические знания и навыки работы на Python. Контента программы хватит для решения большинства задач базового и продвинутого уровня. Вы не просто изучите синтаксис Python, а научитесь использовать его для решения реальных бизнес-задач.
Закажите план развития просто сейчас → https://goo.gl/5L8hkE
А тех, кто хотет начать карьеру разработчика, ребята из SkillFactory приглашают на онлайн-курс “Python для web-разработчиков” → https://goo.gl/yAeNZK где вы получите практические знания и навыки работы на Python. Контента программы хватит для решения большинства задач базового и продвинутого уровня. Вы не просто изучите синтаксис Python, а научитесь использовать его для решения реальных бизнес-задач.
#codeexample
Способы проверки, если все элементы в списке равны:
Решение len (set ()) идиоматично, но построение set менее эффективно с точки зрения памяти и скорости.
Способы проверки, если все элементы в списке равны:
lst = ['a', 'a', 'a']
len(set(lst)) == 1
# True
all(x == lst[0] for x in lst)
# True
lst.count(lst[0]) == len(lst)
# True
Решение len (set ()) идиоматично, но построение set менее эффективно с точки зрения памяти и скорости.
Одной из наиболее распространенных задач, которые вы можете выполнять с помощью Python, является чтение и запись файлов. Будь то запись в простой текстовый файл, чтение сложного журнала сервера или даже анализ необработанных байтовых данных, все эти ситуации требуют чтения или записи файла.
В этом уроке вы узнаете:
- что составляет файл и почему это важно в Python,
- основы чтения и записи файлов в Python,
- некоторые базовые сценарии чтения и записи файлов.
#статьядня
https://prglb.ru/427fp
В этом уроке вы узнаете:
- что составляет файл и почему это важно в Python,
- основы чтения и записи файлов в Python,
- некоторые базовые сценарии чтения и записи файлов.
#статьядня
https://prglb.ru/427fp