Создатель языка программирования Python уходит на пенсию
Спустя шесть с половиной лет, нидерландский программист и создатель языка программирования Python Гвидо ван Россум, покидает Dropbox и уходит в отставку. Компания объявила об этом 29 октября. Кстати, самые первые строки для Dropbox были написаны на Python.
Во время работы в Dropbox Гвидо сосредоточился на нескольких направлениях, в том числе помог отладить процесс тестирования и создать систему проверки типов для Python, получившую название mypy. Также он ответственен за создание более лёгкого в поддержке кода, который могут быстро разбирать новые разработчики. По его словам, когда он только пришёл в Dropbox, там разработчики использовали «умный» код (clever code), который понимали только они.
Для стартапа создание «умного» кода кажется правильным, но по мере роста и расширения команды разработки такое решение уже не подойдёт, пояснил ван Россум.
Гвидо ван Россум создал язык программирования Python в 1989 году, когда работал в Центре математики и информатики Амстердамского университета. В 2005 году он устроился на работу в Google, а в конце 2012 года перешёл в Dropbox.
#новости
Спустя шесть с половиной лет, нидерландский программист и создатель языка программирования Python Гвидо ван Россум, покидает Dropbox и уходит в отставку. Компания объявила об этом 29 октября. Кстати, самые первые строки для Dropbox были написаны на Python.
Во время работы в Dropbox Гвидо сосредоточился на нескольких направлениях, в том числе помог отладить процесс тестирования и создать систему проверки типов для Python, получившую название mypy. Также он ответственен за создание более лёгкого в поддержке кода, который могут быстро разбирать новые разработчики. По его словам, когда он только пришёл в Dropbox, там разработчики использовали «умный» код (clever code), который понимали только они.
Для стартапа создание «умного» кода кажется правильным, но по мере роста и расширения команды разработки такое решение уже не подойдёт, пояснил ван Россум.
Гвидо ван Россум создал язык программирования Python в 1989 году, когда работал в Центре математики и информатики Амстердамского университета. В 2005 году он устроился на работу в Google, а в конце 2012 года перешёл в Dropbox.
#новости
Work in progress
Thank you, Guido
After six and a half years, Guido van Rossum, the creator of Python, is leaving Dropbox and heading into retirement. From the beginning, we knew Guido would be a great addition to our company. In fact, his contributions to Dropbox date back to day one. Our…
#вакансия #программист #удаленка #вакансиянаудаленке
Мы предлагаем:
-Работу в молодом коллективе профессионалов. Команда – одна из наших самых больших гордостей
-Вилку по заработной плате – 20-40 тыс (руб)
-Сложные, но интересные задачи, безграничные возможности для развития
-Отсутствие бюрократии и настоящий дух стартапа
Чем предстоит заниматься:
-Писать алгоритмы для обработки поисковых запросов
-Добавлять в сайт интеграции с другими сервисами, например, авторизация и регистрация через Telegram или работа с API Яндекс.Вордстат
-Деплой на сервера Ubuntu
Навыки:
-Хорошее знание Python 3.5+
-Желателен опыт работы с фреймворками Django
-Опыт работы с Linux & Docker, PostgreSQL или MySQL, REST API, git или bitbucket
Контактная информация:
Контактное лицо: Диана Александровна Шорох
Телефон 8 (969) 0660033
E-mail: verizhnikova.natalya@bk.ru
Мы предлагаем:
-Работу в молодом коллективе профессионалов. Команда – одна из наших самых больших гордостей
-Вилку по заработной плате – 20-40 тыс (руб)
-Сложные, но интересные задачи, безграничные возможности для развития
-Отсутствие бюрократии и настоящий дух стартапа
Чем предстоит заниматься:
-Писать алгоритмы для обработки поисковых запросов
-Добавлять в сайт интеграции с другими сервисами, например, авторизация и регистрация через Telegram или работа с API Яндекс.Вордстат
-Деплой на сервера Ubuntu
Навыки:
-Хорошее знание Python 3.5+
-Желателен опыт работы с фреймворками Django
-Опыт работы с Linux & Docker, PostgreSQL или MySQL, REST API, git или bitbucket
Контактная информация:
Контактное лицо: Диана Александровна Шорох
Телефон 8 (969) 0660033
E-mail: verizhnikova.natalya@bk.ru
Matplotlib, pyplot и pylab: как они соотносятся?
Matplotlib по сути это целый пакет, тогда как matplotlib.pyplot это отдельный модуль в matplotlib.
Pylab это модуль, устанавливаемый отдельно от matplotlib.
Pyplot предоставляет state-machine интерфейс для базовой библиотеки объектно-ориентированных графиков. State machine неявно и автоматически создает фигуры и оси для достижения желаемого графика. Вот пример:
#matplotlib
Matplotlib по сути это целый пакет, тогда как matplotlib.pyplot это отдельный модуль в matplotlib.
Pylab это модуль, устанавливаемый отдельно от matplotlib.
Pyplot предоставляет state-machine интерфейс для базовой библиотеки объектно-ориентированных графиков. State machine неявно и автоматически создает фигуры и оси для достижения желаемого графика. Вот пример:
import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 2, 100)plt.plot(x, x, label='linear')plt.plot(x, x**2, label='quadratic')plt.plot(x, x**3, label='cubic')plt.xlabel('x label')plt.ylabel('y label')plt.noscript("Simple Plot")plt.legend()plt.show()#matplotlib
Не забываем, что у нас есть две неплохие статьи по matplotlib.
Читать первую часть про matplotlib
Читать вторую часть про matplotlib
Рекомендую ознакомиться, потому что скоро мы планируем провести небольшой бесплатный интенсив по Data Science (нам понадобится matplotlib), где в конце будет анонс нашего нового крутого проекта.
Об этом всем я также сообщу немного позже на этой неделе.
#datascience #matplotlib
Читать первую часть про matplotlib
Читать вторую часть про matplotlib
Рекомендую ознакомиться, потому что скоро мы планируем провести небольшой бесплатный интенсив по Data Science (нам понадобится matplotlib), где в конце будет анонс нашего нового крутого проекта.
Об этом всем я также сообщу немного позже на этой неделе.
#datascience #matplotlib
Forwarded from Python Academy
Почему именно Python?
В современном обществе программировать на хотя бы базовом уровне должен уже каждому. Однако практически каждый новичок теряется при выборе языка программирования, когда сталкивается с таким разнообразием. В статье мы постарались объяснить наш выбор.
Читать 5 минут
В современном обществе программировать на хотя бы базовом уровне должен уже каждому. Однако практически каждый новичок теряется при выборе языка программирования, когда сталкивается с таким разнообразием. В статье мы постарались объяснить наш выбор.
Читать 5 минут
Teletype
Почему именно Python?
Простое лучше, чем сложное. © Дзен Python
Да чё это такое, а?
Возникал такой вопрос, когда видел термин Data Science?
Уверен, ты слышал, что это перспективное направление и там ну очень много денег, а конкурентов очень мало.
Дело не в сложности, а в том, что информации почти нет.
Поэтому самые быстрые успеют 4 дня кайфовать с бесплатной, но полезной информации.
Вступай, пока твоё место не заняли.
Возникал такой вопрос, когда видел термин Data Science?
Уверен, ты слышал, что это перспективное направление и там ну очень много денег, а конкурентов очень мало.
Дело не в сложности, а в том, что информации почти нет.
Поэтому самые быстрые успеют 4 дня кайфовать с бесплатной, но полезной информации.
Вступай, пока твоё место не заняли.
Без лишних слов, сразу к делу. Сейчас я покажу сразу несколько интересных примеров из математики, и их возможные реализации на Python.
Первый интересный факт: замечали ли вы, что сумма некоторого ряда нечетных чисел есть количество слагаемых суммы в квадрате?
Пример:
1 + 3 = 4 = 2^2
1 + 3 + 5 = 9 = 3^2
1 + 3 + 5 + 7 = 16 = 4^2
Попробуем реализовать это в виде двух функций, вычисления нечетных чисел и суммы:
Кстати, если вспомнить про интересную конструкцию yield from, то первую функцию можно записать вообще в одну строчку:
Работает!
Второй интересный факт: абсолютно любое число можно выразить в виде формулы, содержащей всего лишь из одной двойки и двух операций, взятия квадратного корня и логарифма по основанию 2.
Пример:
N = -log2(log2(sqrt(sqrt(sqrt(...(sqrt(2))))))
Общее число корней должно равняться числу N
3 = -log2(log2(sqrt(sqrt(sqrt(2)))))
Реализовывать это в виде нормальных функций как выше, наверное, я бы не стал. Нужна рекурсивная функция, вычисляющая квадратный корень большое количество раз, что довольно затратно (хоть современные процессоры и имеют инструкции для вычисления квадратных корней напрямую).
Подобную формулу предложил английский физик Поль Дирак. Дирак является одним из создателей современной квантовой механики.
P.S. не забудьте импортировать
Первый интересный факт: замечали ли вы, что сумма некоторого ряда нечетных чисел есть количество слагаемых суммы в квадрате?
Пример:
1 + 3 = 4 = 2^2
1 + 3 + 5 = 9 = 3^2
1 + 3 + 5 + 7 = 16 = 4^2
Попробуем реализовать это в виде двух функций, вычисления нечетных чисел и суммы:
def odds(n: int) -> int: for item in range(n): yield 2*item+1def squares(n: int) -> int: return sum(odds(n))Кстати, если вспомнить про интересную конструкцию yield from, то первую функцию можно записать вообще в одну строчку:
def odds(n: int) -> int: yield from [2*item+1 for item in range(n)]>>> squares(3)9Работает!
Второй интересный факт: абсолютно любое число можно выразить в виде формулы, содержащей всего лишь из одной двойки и двух операций, взятия квадратного корня и логарифма по основанию 2.
Пример:
N = -log2(log2(sqrt(sqrt(sqrt(...(sqrt(2))))))
Общее число корней должно равняться числу N
3 = -log2(log2(sqrt(sqrt(sqrt(2)))))
>>> -log2(log2(sqrt(sqrt(sqrt(2)))))2.9999999999999996Реализовывать это в виде нормальных функций как выше, наверное, я бы не стал. Нужна рекурсивная функция, вычисляющая квадратный корень большое количество раз, что довольно затратно (хоть современные процессоры и имеют инструкции для вычисления квадратных корней напрямую).
Подобную формулу предложил английский физик Поль Дирак. Дирак является одним из создателей современной квантовой механики.
P.S. не забудьте импортировать
log2 и sqrt из модуля mathПодчеркивание в Python
Знак подчеркивания _ или underscore занимает особое место в Python.
Подчеркивание имеет множество применений, как эстетических конвенций (необязательная договоренность разработчиков оформлять код с подчеркиваниями), так и функциональных, т. е. реально затрагивающих исполнение кода.
Ниже будет несколько примеров.
Змеиный регистр
Это конвенция именования переменных и функций в Python: название начинается с маленькой буквы, а слова разделяют знаком подчеркивания. Думаю все и так знают:
А так писать не принято:
Магические имена
Имена магических методов и магических переменных начинаются и заканчиваются в двух знаком подчеркивания (
Конфликт с ключевым словом
Если вам очень нужно назвать переменную, функцию или аргумент также как и какое-либо ключевое слово из Python, то принято в конце ставить знак подчеркивания, дабы избежать конфликта.
Бывает актуально, если вы пишите какой-то биндинг к сторонней библиотеке, где, к несчастью, некоторые понятия имеют такое же имя как и ключевые слова:
Но! Если вы пишите классовый метод, принято первый аргумент называть cls, а не class_.
Знак подчеркивания _ или underscore занимает особое место в Python.
Подчеркивание имеет множество применений, как эстетических конвенций (необязательная договоренность разработчиков оформлять код с подчеркиваниями), так и функциональных, т. е. реально затрагивающих исполнение кода.
Ниже будет несколько примеров.
Змеиный регистр
Это конвенция именования переменных и функций в Python: название начинается с маленькой буквы, а слова разделяют знаком подчеркивания. Думаю все и так знают:
foo_bar = 10def my_function_to_do_something_special(arg_1, arg_2): ...А так писать не принято:
carSpeed = 60Dont_Do_Like_This()Магические имена
Имена магических методов и магических переменных начинаются и заканчиваются в двух знаком подчеркивания (
__init__). Вот, например, так:class CrazyNumber: slots = ('n',)
def __init__(self, n): self.n = n def __add__(self, other): return self.n - other def __sub__(self, other): return self.n + other def __str__(self): return str(self.n)Конфликт с ключевым словом
Если вам очень нужно назвать переменную, функцию или аргумент также как и какое-либо ключевое слово из Python, то принято в конце ставить знак подчеркивания, дабы избежать конфликта.
Бывает актуально, если вы пишите какой-то биндинг к сторонней библиотеке, где, к несчастью, некоторые понятия имеют такое же имя как и ключевые слова:
Tkinter.Toplevel(master, class_='ClassName')Но! Если вы пишите классовый метод, принято первый аргумент называть cls, а не class_.
Regression vs Classification
Разница между алгоритмами регрессии и классификации в машинном обучении порой ставит в тупик большинство аналитиков, что заставляет их применять неправильные методологии в решении тех или иных проблем.
Давайте начнем наш разговор с обсуждения сходств этих двух методов.
Читать статью.
#datascience #regression #classification
Разница между алгоритмами регрессии и классификации в машинном обучении порой ставит в тупик большинство аналитиков, что заставляет их применять неправильные методологии в решении тех или иных проблем.
Давайте начнем наш разговор с обсуждения сходств этих двух методов.
Читать статью.
#datascience #regression #classification
Новогодний пост
Подведу итоги 2019 года.
✅ Этот год был вполне плодотворным. Мы с Адрианом создали обучающий канал @python_academy, который собираемся развивать в новом году.
Кроме того, мы создали несколько курсов по ботам и по дата саенсу, даже хотели сделать курс по Qt, но не срослось. На все это уходят время и деньги, любой запуск или подобный проект это не бесплатное мероприятие.
❌ А вот на развитие этого канала я подзабил, посты были редкими, рекламу я давно уже не брал и актив упал. Были даже мысли продать его, поскольку прибыли он практически не приносит, а вот проблемы создает.
Вообще на мой взгляд рынок IT в телеге немного сдох, остались только несколько нормальных каналов, которые переливают своих подписчиков туда и сюда, и все. Что с этим всем делать я еще не решил... Пусть это останется в качестве главной интриги 2020 года)
Увидимся уже в новом году!
С наступающим!!!
Подведу итоги 2019 года.
✅ Этот год был вполне плодотворным. Мы с Адрианом создали обучающий канал @python_academy, который собираемся развивать в новом году.
Кроме того, мы создали несколько курсов по ботам и по дата саенсу, даже хотели сделать курс по Qt, но не срослось. На все это уходят время и деньги, любой запуск или подобный проект это не бесплатное мероприятие.
❌ А вот на развитие этого канала я подзабил, посты были редкими, рекламу я давно уже не брал и актив упал. Были даже мысли продать его, поскольку прибыли он практически не приносит, а вот проблемы создает.
Вообще на мой взгляд рынок IT в телеге немного сдох, остались только несколько нормальных каналов, которые переливают своих подписчиков туда и сюда, и все. Что с этим всем делать я еще не решил... Пусть это останется в качестве главной интриги 2020 года)
Увидимся уже в новом году!
С наступающим!!!
То чувство, когда даже не знаешь хорошо это или плохо, что не купил грамы…
https://habr.com/ru/news/t/482984/
А вы что думаете? Взлетит эта криптовалюта или нет?
https://habr.com/ru/news/t/482984/
А вы что думаете? Взлетит эта криптовалюта или нет?
Forwarded from Python Academy
Чат-боты – это будущее Интернета?
В 2018 году объем мирового рынка чат-ботов достиг 1,27 миллиардов долларов. В 2019 он вырос до 2 миллиардов и будет продолжать расти на 30% в год. К 2023 году рынок ботов вырастет до 33 миллиардов рублей. Цифры заманчивые, но давайте разберемся во всем по порядку.
Читать 9 минут
В 2018 году объем мирового рынка чат-ботов достиг 1,27 миллиардов долларов. В 2019 он вырос до 2 миллиардов и будет продолжать расти на 30% в год. К 2023 году рынок ботов вырастет до 33 миллиардов рублей. Цифры заманчивые, но давайте разберемся во всем по порядку.
Читать 9 минут
Teletype
Чат-боты – это будущее Интернета?
Разновидности чат-ботов, сферы их применения, а также краткий анализ рынка с конкретными цифрами.
Квантовые нейросети
Как вы уже наверное знаете, нейронные сети в своей работе используют нейроны. Эти нейроны являются детерминистическими в смысле того, что на выходе функция активации дает четко определенную величину.
Говоря о квантовой нейронной сети вводят понятие стохастического нейрона. Функция активации теперь рассматривается с вероятностной точки зрения.
Такой нейрон будет давать 1 с вероятностью, определенной функцией активации
Так и зачем это нужно?
В одной довольно старой статье было показано, что классический однослойный (без скрытых слоев) перцептрон (нейронная сеть, состоящая всего лишь из одного нейрона) не может решить задачу исключающего ИЛИ.
А вот аналогичный квантовый однослойный перцептрон уже может решить эту задачу.
Не говоря уже о том, что ближайший "органический" аналог подобной квантовой нейросети это... наш мозг.
#NN
Как вы уже наверное знаете, нейронные сети в своей работе используют нейроны. Эти нейроны являются детерминистическими в смысле того, что на выходе функция активации дает четко определенную величину.
Говоря о квантовой нейронной сети вводят понятие стохастического нейрона. Функция активации теперь рассматривается с вероятностной точки зрения.
Такой нейрон будет давать 1 с вероятностью, определенной функцией активации
P(v) и 0 с вероятностью 1 - P(v).Так и зачем это нужно?
В одной довольно старой статье было показано, что классический однослойный (без скрытых слоев) перцептрон (нейронная сеть, состоящая всего лишь из одного нейрона) не может решить задачу исключающего ИЛИ.
А вот аналогичный квантовый однослойный перцептрон уже может решить эту задачу.
Не говоря уже о том, что ближайший "органический" аналог подобной квантовой нейросети это... наш мозг.
#NN
Вывод значения по умолчанию для отсутствующего ключа словаря
При обращении к несуществующему ключу словаря Python выбрасывает исключение. Можно этого избежать, например вызывая метод
При создании собственного типа данных на основе словарей обратите внимание на метод
При обращении к несуществующему ключу словаря Python выбрасывает исключение. Можно этого избежать, например вызывая метод
get. В данном случае метод выдаст None (по умолчанию) либо заданное значение аргумента.>>> d = {'a':1, 'b':2}>>> d.get('c'))None>>> d.get('c', 3)3При создании собственного типа данных на основе словарей обратите внимание на метод
__missing__ для возвращения аргумента при отсутствии ключа:class MyDict(dict): def __missing__(self, key): return key...>>> D = MyDict(a=1, b=2)>>> D{'a': 1, 'b': 2}>>> D['a']1>>> D['c']cВчера как обычно занимался нейросетями, настраивал модель в
Дальнейший шаг – это научиться с помощью
Например даем картинку с надписью 1+1, пропускаем через нашу программу и получаем ответ 2.
Интересно? Рассказать об этом подробнее?
#keras #cv2
keras (кстати, очень удобная штука, советую). Тренировал модель на датасете картинок с математическими символами, взятого из какого-то китайского репозитория на гитхабе. Точность была порядка 95%, вроде бы. Архитектуру сети взял с одной статьи с архива, прикрепляю ниже картинку, кому интересно.Дальнейший шаг – это научиться с помощью
cv2 разбивать картинку с несколькими символами на отдельные картинки, ну а дальше распознавать и парсить их.Например даем картинку с надписью 1+1, пропускаем через нашу программу и получаем ответ 2.
Интересно? Рассказать об этом подробнее?
#keras #cv2
Hello World pinned «Вчера как обычно занимался нейросетями, настраивал модель в keras (кстати, очень удобная штука, советую). Тренировал модель на датасете картинок с математическими символами, взятого из какого-то китайского репозитория на гитхабе. Точность была порядка 95%…»
Всякие разности
Как вы знаете, мы с Адрианом бросили все силы на создание обучающих курсов, поставленных в противовес огромным компаниям, которые у нас зачастую покупают рекламу на каналах (не будем тыкать пальцами ни в кого).
Концепция проста: низкая стоимость + высокое качество. Вообще мы давно уже занимаемся как ботами, так и data science. И вот недавно мы решили провести еще один поток обучения по ботам (возможно последний, ибо из-за обилия говнокурсов спрос сильно упал).
Так вот, если вам интересна тема телеграм ботов, то отпишите в бота @python_academy_robot (не пугайтесь что он на лайвграм, у нас полно нормальных проектов, и мы ничего не скрываем). Все цены будут там.
P.S. По поводу нейронок, если кому интересно, залил небольшой код конволюционной нейросети на github. Задача классическая, распознавание цифр из датасета MNIST. Постараюсь написать статью (либо серию постов) в ближайшее время.
Как вы знаете, мы с Адрианом бросили все силы на создание обучающих курсов, поставленных в противовес огромным компаниям, которые у нас зачастую покупают рекламу на каналах (не будем тыкать пальцами ни в кого).
Концепция проста: низкая стоимость + высокое качество. Вообще мы давно уже занимаемся как ботами, так и data science. И вот недавно мы решили провести еще один поток обучения по ботам (возможно последний, ибо из-за обилия говнокурсов спрос сильно упал).
Так вот, если вам интересна тема телеграм ботов, то отпишите в бота @python_academy_robot (не пугайтесь что он на лайвграм, у нас полно нормальных проектов, и мы ничего не скрываем). Все цены будут там.
P.S. По поводу нейронок, если кому интересно, залил небольшой код конволюционной нейросети на github. Задача классическая, распознавание цифр из датасета MNIST. Постараюсь написать статью (либо серию постов) в ближайшее время.