This media is not supported in your browser
VIEW IN TELEGRAM
Учитель провёл урок геометрии в новой Half-Life Alyx
Некоторые, кому довелось вживую пройти Half-Life Alyx, обнаружили в одной из локаций стекло с лежащими неподалёку цветными маркерами.
🖍️Этими маркерами можно пользоваться и рисовать на стекле всё, что душе угодно. Например, формулы. Чем собственно и воспользовался учитель геометрии из американского города Сан-Диего.
А как в условиях карантина ваши учителя проявляют креативность?
Некоторые, кому довелось вживую пройти Half-Life Alyx, обнаружили в одной из локаций стекло с лежащими неподалёку цветными маркерами.
🖍️Этими маркерами можно пользоваться и рисовать на стекле всё, что душе угодно. Например, формулы. Чем собственно и воспользовался учитель геометрии из американского города Сан-Диего.
А как в условиях карантина ваши учителя проявляют креативность?
Немного переписал свою старую статью по multiprocessing, может быть кому-то будет интересно.
Forwarded from Python Academy
Работа с процессами в Python
С появлением многоядерных процессоров стала общеупотребительной практика распространять нагрузку на все доступные ядра. Существует два основных подхода в распределении нагрузки: использование процессов и потоков. О первом мы как раз сейчас и поговорим.
Читать 6 минут
С появлением многоядерных процессоров стала общеупотребительной практика распространять нагрузку на все доступные ядра. Существует два основных подхода в распределении нагрузки: использование процессов и потоков. О первом мы как раз сейчас и поговорим.
Читать 6 минут
Teletype
Работа с процессами в Python
Начинаем изучать процессы и их реализацию с помощью пакета multiprocessing.
Новая рубрика на канале
Вы давно меня просили сделать нечто подобное. Поэтому, предлагаю вашему вниманию задачу с соревнования Яндекса 2019 года:
Дан массив
Формат ввода
В первой строке входных данных записано число
Во второй строке записаны
Формат вывода
Выведите единственное число
Вы давно меня просили сделать нечто подобное. Поэтому, предлагаю вашему вниманию задачу с соревнования Яндекса 2019 года:
Дан массив
a из n целых чисел. Напишите программу, которая найдет число, которое чаще других встречается в массиве. Ограничение времени: 2 с, ограничение памяти: 256 МБ.Формат ввода
В первой строке входных данных записано число
n (1 ≤ n ≤ 300 000). Во второй строке записаны
n целых чисел ai (0 ≤ ai ≤ 1 000 000 000).Формат вывода
Выведите единственное число
x, наибольшее из чисел, которое чаще других встречается в массиве a.Начну издалека. Как думаете, правда ли что выучить Python и стать качественным специалистом легко?
Разумеется, у Python довольно низкий порог вхождения. Это означает что на нем очень легко освоить азы программирования. Но по сути, все что можно найти в интернете – это и есть только основы и азы. Они не помогут научиться чему-то основательно.
Поначалу может показаться, что обучение дается легко, но впереди будут ждать трудности. Асинхронное и функциональное программирование, threading, multiprocessing, sockets, метаклассы – все эти темы непросто найти и изучить самостоятельно. При этом не стоит забывать, что помимо теории необходима и практика – минимум 4-6 часов в неделю.
С любовью к обучению и программированию, мы с коллегой открыли @python_academy. Мы вложили собственные средства на развитие этого проекта, и немало сил на создание качественного контента. И это было не зря – мы получаем восторженные отзывы наших учеников. Благодаря вам мы продолжаем работать над качеством нашего материала.
У нас вы научитесь писать чистый и быстрый код. Многие ошибочно думают что если умеешь писать код, то и преподавать тоже получится. Не получится. Когда знаешь очень много всего, становится трудно вспомнить как это – не понимать.
Но мой опыт преподавания и работы со студентами насчитывает без малого 3 года, поэтому я точно знаю как нужно преподносить материал так, чтобы все всё поняли.
Более полная информация о ближайшем курсе тут.
Задать вопрос и записаться на курс можно у меня @dartrisen и у моего коллеги @a1f20.
Разумеется, у Python довольно низкий порог вхождения. Это означает что на нем очень легко освоить азы программирования. Но по сути, все что можно найти в интернете – это и есть только основы и азы. Они не помогут научиться чему-то основательно.
Поначалу может показаться, что обучение дается легко, но впереди будут ждать трудности. Асинхронное и функциональное программирование, threading, multiprocessing, sockets, метаклассы – все эти темы непросто найти и изучить самостоятельно. При этом не стоит забывать, что помимо теории необходима и практика – минимум 4-6 часов в неделю.
С любовью к обучению и программированию, мы с коллегой открыли @python_academy. Мы вложили собственные средства на развитие этого проекта, и немало сил на создание качественного контента. И это было не зря – мы получаем восторженные отзывы наших учеников. Благодаря вам мы продолжаем работать над качеством нашего материала.
У нас вы научитесь писать чистый и быстрый код. Многие ошибочно думают что если умеешь писать код, то и преподавать тоже получится. Не получится. Когда знаешь очень много всего, становится трудно вспомнить как это – не понимать.
Но мой опыт преподавания и работы со студентами насчитывает без малого 3 года, поэтому я точно знаю как нужно преподносить материал так, чтобы все всё поняли.
Более полная информация о ближайшем курсе тут.
Задать вопрос и записаться на курс можно у меня @dartrisen и у моего коллеги @a1f20.
This media is not supported in your browser
VIEW IN TELEGRAM
Собирайте команду и присоединяйтесь к онлайн-хакатону по digital-communications от КРОК - YoHack
C 23 по 26 апреля KPOK собирает кросс-возрастные команды зумеров и бумеров (школьников и студентов, специалистов IT-компаний) для решения проблем digital-коммуникций.
👨💻Сможете поизучать различные тренды сети: создать переводчик мемов, измеритель достоверности информации, анализатор оскорбительности постов или реализовать свою digital-идею.
📲 Регистрация открыта до 20 апреля включительно. 👉 yohack.ru
C 23 по 26 апреля KPOK собирает кросс-возрастные команды зумеров и бумеров (школьников и студентов, специалистов IT-компаний) для решения проблем digital-коммуникций.
👨💻Сможете поизучать различные тренды сети: создать переводчик мемов, измеритель достоверности информации, анализатор оскорбительности постов или реализовать свою digital-идею.
📲 Регистрация открыта до 20 апреля включительно. 👉 yohack.ru
Hello World
Новая рубрика на канале Вы давно меня просили сделать нечто подобное. Поэтому, предлагаю вашему вниманию задачу с соревнования Яндекса 2019 года: Дан массив a из n целых чисел. Напишите программу, которая найдет число, которое чаще других встречается в массиве.…
Возможное решение для задачи
Посмотреть код
Это довольно таки простая задача, которую можно решить как с использованием обычного словаря, так и с использованием структуры
Сначала можно посчитать, сколько раз встречается каждый элемент, затем выбрать наибольший из тех, которые встречаются наибольшее число раз.
Решение требует O(n) времени и O(n) дополнительной памяти.
P.S. немного приболел, извините за отсутствие постов, в ближайшее время будет что-нибудь интересное по data science.
Посмотреть код
Это довольно таки простая задача, которую можно решить как с использованием обычного словаря, так и с использованием структуры
Counter из модуля collections.Сначала можно посчитать, сколько раз встречается каждый элемент, затем выбрать наибольший из тех, которые встречаются наибольшее число раз.
Решение требует O(n) времени и O(n) дополнительной памяти.
P.S. немного приболел, извините за отсутствие постов, в ближайшее время будет что-нибудь интересное по data science.
Последний релиз Python 2.x
Кстати говоря, не так давно вышла последняя версия Python 2.7, а именно Python 2.7.18.
Эта версия является специальным выпуском. Я имею в виду, конечно, тот факт, что "2.7.18" является ближайшим номером версии Python которая примерно равна числу e, или числу Эйлера.
Менее трансцендентное свойство Python 2.7.18 заключается в том, что это последний выпуск Python 2.7. и, следовательно, последний выпуск Python 2.
Любителям CPython пришло время попрощаться с Python 2. Эта версия поддерживалась почти 10 лет параллельно с обратно-несовместимыми версиями Python 3. Теперь же остаётся только одна версия языка, которая продолжит развиваться.
Скачать последнюю версию языка можно по этой ссылке.
Кстати говоря, не так давно вышла последняя версия Python 2.7, а именно Python 2.7.18.
Эта версия является специальным выпуском. Я имею в виду, конечно, тот факт, что "2.7.18" является ближайшим номером версии Python которая примерно равна числу e, или числу Эйлера.
Менее трансцендентное свойство Python 2.7.18 заключается в том, что это последний выпуск Python 2.7. и, следовательно, последний выпуск Python 2.
Любителям CPython пришло время попрощаться с Python 2. Эта версия поддерживалась почти 10 лет параллельно с обратно-несовместимыми версиями Python 3. Теперь же остаётся только одна версия языка, которая продолжит развиваться.
Скачать последнюю версию языка можно по этой ссылке.
Предположим вам приперло вычислить сложный интеграл, а вольфрам математики под рукой не оказалось.
Подобные интегралы с маленькой мнимой частью вычисляются по известной теореме, но обычно для их вычисления необходимо отдельно посчитать интеграл в смысле главного значения по Коши (обычно пишут v.p. ну или p.v.).
Для работы с такими интегралами (и не только) и был создан пакет
Подобные интегралы с маленькой мнимой частью вычисляются по известной теореме, но обычно для их вычисления необходимо отдельно посчитать интеграл в смысле главного значения по Коши (обычно пишут v.p. ну или p.v.).
Для работы с такими интегралами (и не только) и был создан пакет
sympy. В свою очередь, метод subs позволяет подставить какое-то определенное значение. Но для вычисления предела, или если выбранная точка является сингулярной, лучше используйте limit.you = |gay> + |not gay>
Тут IBM анонсирует свой Quantum Challenge, который кстати говоря начался совсем недавно. Таким образом они празднуют свою четвертую годовщину квантовых вычислений.
Дают 4 дня и 4 задания для проверки своих навыков. Принять вызов можно по этой ссылке. И как я понял, все это можно сделать на вашем любимом языке 🏳️🌈.
Я и сам хочу поучаствовать, потому что как теоретик я люблю всякие квантовые штуки (в том числе и нейросети).
Так что занимайте ваши основные состояния и погнали.
P.S. а если вы ничего не смыслите в квантовой механике, не переживайте, даже Фейнман в свое время говорил что по-настоящему ее никто не понимает.
Тут IBM анонсирует свой Quantum Challenge, который кстати говоря начался совсем недавно. Таким образом они празднуют свою четвертую годовщину квантовых вычислений.
Дают 4 дня и 4 задания для проверки своих навыков. Принять вызов можно по этой ссылке. И как я понял, все это можно сделать на вашем любимом языке 🏳️🌈.
Я и сам хочу поучаствовать, потому что как теоретик я люблю всякие квантовые штуки (в том числе и нейросети).
Так что занимайте ваши основные состояния и погнали.
P.S. а если вы ничего не смыслите в квантовой механике, не переживайте, даже Фейнман в свое время говорил что по-настоящему ее никто не понимает.
Одноразовая функция в классе
На тот случай, если вдруг понадобится такая функция, которая будет использоваться всего один раз, после чего будет использоваться другая функция, можно воспользоваться таким приемом.
#tips
На тот случай, если вдруг понадобится такая функция, которая будет использоваться всего один раз, после чего будет использоваться другая функция, можно воспользоваться таким приемом.
#tips
Основные научные библиотеки Python
Python часто используется для создания академических и научных приложений, поскольку код на нем легко писать и язык имеет высокую производительность.
📌 Библиотека SciPy задействует массивы NumPy в качестве базовой структуры данных. Кроме того, она содержит в себе модули для решения задач научного программирования, включая линейную алгебру, анализ, особые функции и константы, а также обработку сигналов.
📌 Хотя NumPy является частью проекта SciPy, она содержит лишь базовую функциональность SciPy. NumPy обходит проблему медленных алгоритмов в Python путем использования многомерных массивов и функций, которые работают с этими массивами.
📌 Matplotlib — это гибкая библиотека для создания интерактивных 2D и 3D графиков. А тем, кто работает со статистикой, стоит взглянуть на Seaborn, более новую библиотеку для работы с графикой, основанную на Matplotlib. Она предназначена для визуализации статистики.
Python часто используется для создания академических и научных приложений, поскольку код на нем легко писать и язык имеет высокую производительность.
📌 Библиотека SciPy задействует массивы NumPy в качестве базовой структуры данных. Кроме того, она содержит в себе модули для решения задач научного программирования, включая линейную алгебру, анализ, особые функции и константы, а также обработку сигналов.
📌 Хотя NumPy является частью проекта SciPy, она содержит лишь базовую функциональность SciPy. NumPy обходит проблему медленных алгоритмов в Python путем использования многомерных массивов и функций, которые работают с этими массивами.
📌 Matplotlib — это гибкая библиотека для создания интерактивных 2D и 3D графиков. А тем, кто работает со статистикой, стоит взглянуть на Seaborn, более новую библиотеку для работы с графикой, основанную на Matplotlib. Она предназначена для визуализации статистики.
Полезные сниппеты с itertools
Не так давно подписчик в чате поделился своими полезными сниппетами.
Также приложу ссылку на гист.
Не так давно подписчик в чате поделился своими полезными сниппетами.
group группирует итерируемые объекты в новые объекты размера size, при необходимости заполняя недостающие элементы с помощью fillvalue.transpose, как очевидно из названия, транспонирует матрицы (а также строки/столбцы различной длины), при необходимости заполняя значения с помощью fillvalue.Также приложу ссылку на гист.
Мы можем немного ускориться? (с)
Поскольку все методы класса по-умолчанию первым аргументом принимают
Хотя существует несколько способов использования np.vectorize в виде декоратора метода произвольного класса, на мой взгляд самым практичным и удобным является использование
Функция
Не знаешь что такое
#tips #numpy #vectorize
Поскольку все методы класса по-умолчанию первым аргументом принимают
self, нельзя просто так взять и обернуть метод декоратором vectorize.Хотя существует несколько способов использования np.vectorize в виде декоратора метода произвольного класса, на мой взгляд самым практичным и удобным является использование
partial.Функция
partial – это функция, которая упрощает некоторые элементы функционального программирования, позволяющего например обеспечить частичное применение функции.Не знаешь что такое
vectorize? На моем втором канале @python_academy сегодня будет пост, объясняющий что это такое.#tips #numpy #vectorize
Одной из наиболее полезных библиотек для физиков всех сортов и мастей является LINPACK, или библиотека для работы с линейной алгеброй.
Первоначально написанная на языке фортран, она получила свое продолжение в виде модуля LAPACK, работающего более эффективно на современных машинах.
Эту библиотеку портировали практически на все известные человечеству языки программирования (например на языке swift, с которым я сейчас работаю, есть модуль Accelerate, основанный на LAPACK и BLAS)
Пакет позволяет работать с матрицами: находить собственные значения и вектора, решения для СЛАУ (системы линейных алгебраических уравнений), и прочее.
#numpy #linalg
Первоначально написанная на языке фортран, она получила свое продолжение в виде модуля LAPACK, работающего более эффективно на современных машинах.
Эту библиотеку портировали практически на все известные человечеству языки программирования (например на языке swift, с которым я сейчас работаю, есть модуль Accelerate, основанный на LAPACK и BLAS)
Пакет позволяет работать с матрицами: находить собственные значения и вектора, решения для СЛАУ (системы линейных алгебраических уравнений), и прочее.
#numpy #linalg