Forwarded from Библиотека питониста | Python, Django, Flask
Realpython
Null in Python: Understanding Python's NoneType Object – Real Python
In this tutorial, you'll learn about the NoneType object None, which acts as the null in Python. This object represents emptiness, and you can use it to mark default parameters and even show when you have no result. None is a tool for doing everything with…
Forwarded from Python Academy
Находим соответствия в строках
Предположим, мы попали в ситуацию, когда нам понадобилось найти в списке слова, похожие на некую входную строку. Решить эту задачу можно с помощью built-in модуля
Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент задаёт список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
Предположим, мы попали в ситуацию, когда нам понадобилось найти в списке слова, похожие на некую входную строку. Решить эту задачу можно с помощью built-in модуля
difflib
.Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент задаёт список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
n
, который задаёт максимальное число возвращаемых совпадений.Forwarded from Python Lounge: работа и стажировки для программистов
Python позволяет перегружать множество различных операторов, и оператор shift является одним из них. Вот пример того, как создать композицию функции с помощью этого оператора. Здесь эти знаки показывают направление потока данных:
collections import deque
from math import sqrt
class Compose:
def __init__(self):
self._functions = deque()
def __call__(self, *args, **kwargs):
result = None
for f in self._functions:
result = f(*args, **kwargs)
args = [result]
kwargs = dict()
return result
def __rshift__(self, f):
self._functions.append(f)
return self
def __lshift__(self, f):
self._functions.appendleft(f)
return self
compose = Compose
sqrt_abs = (compose() << sqrt << abs)
sqrt_abs2 = (compose() >> abs >> sqrt)
print(sqrt_abs(-4)) # 2.0
print(sqrt_abs2(-4)) # 2.0
Forwarded from Python Lounge: работа и стажировки для программистов
Приветствую всех!
Сегодня мы познакомимся с историей создания Python.
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом.
Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию).
В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.
С самого начала Python проектировался как объектно-ориентированный язык.
3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k).
В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python.
На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x), но поддержка Python 2.7 заканчивается в 2020 году.
Итак, мы узнали на чуточку больше про Python!
Сегодня мы познакомимся с историей создания Python.
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом.
Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию).
В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.
С самого начала Python проектировался как объектно-ориентированный язык.
3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k).
В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python.
На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x), но поддержка Python 2.7 заканчивается в 2020 году.
Итак, мы узнали на чуточку больше про Python!
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 1: Чтение данных из csv файла
Продолжаем работать с pandas.
Эта часть показывает способ обработки данных, хранящихся в формате csv, а также построение простейших графиков.
Часть 1: Чтение данных из csv файла
Продолжаем работать с pandas.
Эта часть показывает способ обработки данных, хранящихся в формате csv, а также построение простейших графиков.
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 3: объединение и группировка данных
Эта часть показывает способы группировки, объединения и дополнения данных.
Часть 3: объединение и группировка данных
Эта часть показывает способы группировки, объединения и дополнения данных.
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 4: объединение нескольких dataframe
В конце этой части, мы загрузим данные о погоде в Канаде за весь 2012 год, и сохраним в CSV файл.
Мы сделаем это, загрузив каждый месяц в отдельности, а затем сгруппировав все месяцы вместе.
Часть 4: объединение нескольких dataframe
В конце этой части, мы загрузим данные о погоде в Канаде за весь 2012 год, и сохраним в CSV файл.
Мы сделаем это, загрузив каждый месяц в отдельности, а затем сгруппировав все месяцы вместе.
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Forwarded from Python Lounge: работа и стажировки для программистов
Анализ данных с помощью pandas.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Forwarded from Python Lounge: работа и стажировки для программистов
Автопостинг c ВК в телеграм
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.
Forwarded from Python Lounge: работа и стажировки для программистов
Нахождение 10 наиболее частых слов на web странице
Решим небольшую задачку в данной статье.
Решим небольшую задачку в данной статье.
Forwarded from Python Lounge: работа и стажировки для программистов
HTML парсер на Python
Учитывая современное развитие Интернета, было бы кощунством не написать приложение, взаимодействующее со всемирной паутиной.
Сегодня мы напишем простенький html-парсер на Python.
Наше приложение будет читать код указанной страницы сайта и сохранять все ссылки в ней в отдельный файл.
Это приложение может помочь SEO-аналитикам и веб-разработчикам.
Учитывая современное развитие Интернета, было бы кощунством не написать приложение, взаимодействующее со всемирной паутиной.
Сегодня мы напишем простенький html-парсер на Python.
Наше приложение будет читать код указанной страницы сайта и сохранять все ссылки в ней в отдельный файл.
Это приложение может помочь SEO-аналитикам и веб-разработчикам.
Forwarded from Hello World
Что новенького?
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
Пока я ковырялся с этим, изучил практически досконально метод
✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
ctypes
.Пока я ковырялся с этим, изучил практически досконально метод
__call__
и понял что декорирующие классы могут очень сильно менять логику Python.✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Forwarded from Библиотека питониста | Python, Django, Flask
Функция complex() создает комплексное число:
>>> complex(3.5,4)
(3.5+4j)
Функция eval() исполняет строку:
>>> eval("print(max(22,22.0) — min(2,3))")
20
Функция filter() отфильтровывает элементы, для которых заданное условие верно.
>>> list(filter(lambda x: x%2 == 0,[1, 2, 0, False]))
[2, 0, False]
Функция format() помогает задать формат строки:
>>> print("a = {0} but b = {1}".format(a, b))
a = 2 but b = 3
Функция hash() возвращает хэш-значение объекта:
>>> hash(3.7)
644245917
Функция hex() преобразовывает число в шестнадцатеричное число:
>>> hex(14)
"0xe"
Функция input() читает ввод и возвращает строку:
>>> input("Enter a number")
Enter a number7
"7"
Функция len() возвращает число, показывающее длину строки:
>>> len("Ayushi")
6
Функция locals() возвращает словарь с локальной таблицей имен:
>>> locals()
{"__name__": "__main__", "__doc__": None, "__package__": None, "__loader__": <class "_frozen_importlib.BuiltinImporter">, "__spec__": None, "__annotations__": {}, "__builtins__": <module "builtins" (built-in)>, "a": 2, "b": 3}
Функция open() открывает файл:
>>> file = open("tabs.txt")
>>> complex(3.5,4)
(3.5+4j)
Функция eval() исполняет строку:
>>> eval("print(max(22,22.0) — min(2,3))")
20
Функция filter() отфильтровывает элементы, для которых заданное условие верно.
>>> list(filter(lambda x: x%2 == 0,[1, 2, 0, False]))
[2, 0, False]
Функция format() помогает задать формат строки:
>>> print("a = {0} but b = {1}".format(a, b))
a = 2 but b = 3
Функция hash() возвращает хэш-значение объекта:
>>> hash(3.7)
644245917
Функция hex() преобразовывает число в шестнадцатеричное число:
>>> hex(14)
"0xe"
Функция input() читает ввод и возвращает строку:
>>> input("Enter a number")
Enter a number7
"7"
Функция len() возвращает число, показывающее длину строки:
>>> len("Ayushi")
6
Функция locals() возвращает словарь с локальной таблицей имен:
>>> locals()
{"__name__": "__main__", "__doc__": None, "__package__": None, "__loader__": <class "_frozen_importlib.BuiltinImporter">, "__spec__": None, "__annotations__": {}, "__builtins__": <module "builtins" (built-in)>, "a": 2, "b": 3}
Функция open() открывает файл:
>>> file = open("tabs.txt")
Forwarded from Библиотека питониста | Python, Django, Flask
12 марта с 19:00 до 22:00 митап для разработчиков Java и Python в #ITX5
Слушаем классные доклады и обсуждаем последние тренды. Темы докладов:
⬥ О чём мечтают Java-роботы, глядя на Python
⬥ AOP – альтернативный подход к объектам
⬥ Чистая архитектура в среде изменяющихся требований
Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, нужно лишь зарегистрироваться: https://prglb.ru/393of
Слушаем классные доклады и обсуждаем последние тренды. Темы докладов:
⬥ О чём мечтают Java-роботы, глядя на Python
⬥ AOP – альтернативный подход к объектам
⬥ Чистая архитектура в среде изменяющихся требований
Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, нужно лишь зарегистрироваться: https://prglb.ru/393of
Forwarded from MoscowPython Conf Channel
Что такое DDD и какие инструменты в нем есть, читайте в статье, основанной на докладе Артёма Малышева на Moscow Python Conf++ 2019.
В статье обсуждаем подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка. Всё, чтобы ваш проект не получился похожим на синего кита — морское животное, которое не может дышать под водой.
В статье обсуждаем подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка. Всё, чтобы ваш проект не получился похожим на синего кита — морское животное, которое не может дышать под водой.
Хабр
Инструменты Domain Driven Design
Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком,...
Forwarded from Библиотека питониста | Python, Django, Flask
Как создать виртуальное окружение в Python и перестать думать о зависимостях
Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.
https://prglb.ru/3vk41
Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.
https://prglb.ru/3vk41
Forwarded from Python Academy
Освоить Python и написать блокчейн за неделю? Легко.
С 16 марта начинается наш новый курс, который подойдет как начинающим, так и людям с опытом. Мы разберём многие темы, начиная с установки интерпретатора и заканчивая парадигмой ООП.
Во время прохождения курса вы получите:
❶ Общие концепты программирования и основы Python;
❷ Практические домашние задания с разбором;
❸ Финальный проект: блокчейн с нуля.
Цена для подписчиков нашего канала 490₽.
Все вопросы и запись на курс: @a1f20 и @dartrisen
С 16 марта начинается наш новый курс, который подойдет как начинающим, так и людям с опытом. Мы разберём многие темы, начиная с установки интерпретатора и заканчивая парадигмой ООП.
Во время прохождения курса вы получите:
❶ Общие концепты программирования и основы Python;
❷ Практические домашние задания с разбором;
❸ Финальный проект: блокчейн с нуля.
Цена для подписчиков нашего канала 490₽.
Все вопросы и запись на курс: @a1f20 и @dartrisen
Forwarded from Moscow Python (Valentin Dombrovsky)
В гостях у Moscow Python Podcast Петр Ермаков, senior data scientist в компании Lamoda, основатель школы DataGym. Обсудили возможности коллективной работы с jupiter notebook и многое другое.
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, тимлид NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.
https://youtube.com/watch?v=V0XXiOooP_U
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, тимлид NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.
https://youtube.com/watch?v=V0XXiOooP_U
YouTube
Moscow Python Podcast. Проблемы jupyter notebook и их решения в production (level: junior)
В гостях у Moscow Python Podcast Петр Ермаков, senior data scientist в компании Lamoda, основатель школы DataGym. Обсудили возможности коллективной работы с jupyter notebook и многое другое.
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs…
Ведущие выпуска — сооснователь MoscowPython и компании DryLabs…
Forwarded from Moscow Python (Valentin Dombrovsky)
На Moscow Python Conf++ 2020 Владимир Протасов (Parallels) сделает доклад "Автоматизация рефакторинга". Руководитель ПК конференции Григорий Петров взял у него интервью.
https://www.youtube.com/watch?v=QFp7MIC1wzw
https://www.youtube.com/watch?v=QFp7MIC1wzw
YouTube
Интервью с Владимиром Протасовым (Parallels)
На Moscow Python Conf++ 2020 Владимир Протасов (Parallels) сделает доклад "Автоматизация рефакторинга". Руководитель ПК конференции Григорий Петров взял у него интервью.
Конференция Moscow Python Conf++: http://conf.python.ru
Тезисы доклада Владимира: h…
Конференция Moscow Python Conf++: http://conf.python.ru
Тезисы доклада Владимира: h…