Самые популярные вопросы на собеседовании: «Как работает функция map?»
Обычно, когда нужно обработать и преобразовывать все элементы в итерируемом объекте, первое, что напрашивается, это цикл
Но у
1. Поскольку
2. Второе преимущество использования
То есть
Например, здесь к каждому элементу в списке мы добавляем число 3.
#собеседование
  
  
  
  
  
Обычно, когда нужно обработать и преобразовывать все элементы в итерируемом объекте, первое, что напрашивается, это цикл
for.Но у
for есть несколько недостатков, которых можно избежать, используя map():1. Поскольку
map() написан на C и сильно оптимизирован, его внутренний подразумеваемый цикл более эффективен, чем обычный цикл for.2. Второе преимущество использования
map() — потребление памяти. С помощью for вам нужно сохранить весь список. А map() вы получаете элементы по запросу, и только один элемент находится в памяти в данный момент.То есть
map() полезен, когда вам нужно применить функцию преобразования к каждому элементу в коллекции или в массиве и преобразовать их в новый массив. Она возвращает объект (итератор), который перебирает значения, применяя функцию к каждому элементу. В случае необходимости объект можно преобразовать в список:def add_three(x): return x + 3li = [1,2,3]list(map(add_three, li))#=> [4, 5, 6]Например, здесь к каждому элементу в списке мы добавляем число 3.
#собеседование
👍41🔥1
  Python для начинающих: дорожная карта в 2023 году
Это просто просто огромная крутая дорожная карта по изучению Python с нуля. Не смотрите, что партнёрский материал — это колаб Tproger и Skypro. Ребята просто честно помечают такие вещи, но годноты от этого меньше не становится.
В общем, смотрите, изучайте и сохраняйте, чтобы не потерять: https://tproger.ru/articles/python-roadmap-2023-ljn8jvxfj/
#шпаргалки
  
  
  
  
  
Это просто просто огромная крутая дорожная карта по изучению Python с нуля. Не смотрите, что партнёрский материал — это колаб Tproger и Skypro. Ребята просто честно помечают такие вещи, но годноты от этого меньше не становится.
В общем, смотрите, изучайте и сохраняйте, чтобы не потерять: https://tproger.ru/articles/python-roadmap-2023-ljn8jvxfj/
#шпаргалки
👍13
  Forwarded from Python: задачки и вопросы
Функцию reduce() используют для ...
  Anonymous Quiz
    22%
    слияния всех значений обоих аргументов в одно целое
      
    22%
    комбинирования всех значений в наборе определённой функцией
      
    24%
    применения функции ко всем элементам последовательности
      
    32%
    уменьшения значения всех элементов коллекции на значение, переданное в аргументе
      
    💩35👍5😁3
  Самые популярные вопросы на собеседовании: «Объясните, как работает функция reduce»
Возвращается 11, то есть сумма 1+2+3+5.
#собеседование
  
  
  
  
  
reduce принимает функцию и последовательность — и проходит по этой последовательности. На каждой итерации в функцию передаются как текущий элемент, так и выходные данные предыдущего элемента. В конце концов, возвращается одно значение:from functools import reducedef add_three(x,y): return x + yli = [1,2,3,5]reduce(add_three, li)#=> 11Возвращается 11, то есть сумма 1+2+3+5.
#собеседование
👍29❤2
  Генерируем 2D-мир с помощью клеточного автомата на Python
Вообще, клеточный автомат сам по себе очень интересная штука. Простыми словами, это — модель, в которой состояние ячеек-клеток изменяется в зависимости от окружающих её клеток.
Простейшие клеточные автоматы используются в криптографии, моделировании физических процессов, поведения людей, в биологии, и в целой куче других важных и интересных штук. Да и вообще, это очень красиво и залипательно. И вот одно из необычных применений для клеточных автоматов — генерация карты для 2D-мира.
Хорошая статья, в которой можно попрактиковаться сразу и в геймдеве, и в теории клеточных автоматов, и в принципе закодировать что-нибудь интересное на питоне, вместо очередного калькулятора или просмотрщика погоды: https://habr.com/ru/post/721956/
#алгоритмы
  
  
  Вообще, клеточный автомат сам по себе очень интересная штука. Простыми словами, это — модель, в которой состояние ячеек-клеток изменяется в зависимости от окружающих её клеток.
Простейшие клеточные автоматы используются в криптографии, моделировании физических процессов, поведения людей, в биологии, и в целой куче других важных и интересных штук. Да и вообще, это очень красиво и залипательно. И вот одно из необычных применений для клеточных автоматов — генерация карты для 2D-мира.
Хорошая статья, в которой можно попрактиковаться сразу и в геймдеве, и в теории клеточных автоматов, и в принципе закодировать что-нибудь интересное на питоне, вместо очередного калькулятора или просмотрщика погоды: https://habr.com/ru/post/721956/
#алгоритмы
👍17❤5👎2
  Декораторы в Python: понять и полюбить
Декораторы — это вам не «обычное» процедурное программирование, когда вы объявляете функции с блоками кода, и просто вызываете их. В Python всё куда интереснее!
Если вкратце, декоратор — это функция, которая позволяет обернуть другую функцию и расширить её функциональность без изменения её кода. Новички не очень любят декораторы и зря. А вот опытные Python-программисты знают, что это один из самых полезных инструментов в Python.
Давайте разбираться, что это за декораторы, как их использовать и как задействовать всю их магию: https://tproger.ru/translations/demystifying-decorators-in-python/
  
  
  
  
  
Декораторы — это вам не «обычное» процедурное программирование, когда вы объявляете функции с блоками кода, и просто вызываете их. В Python всё куда интереснее!
Если вкратце, декоратор — это функция, которая позволяет обернуть другую функцию и расширить её функциональность без изменения её кода. Новички не очень любят декораторы и зря. А вот опытные Python-программисты знают, что это один из самых полезных инструментов в Python.
Давайте разбираться, что это за декораторы, как их использовать и как задействовать всю их магию: https://tproger.ru/translations/demystifying-decorators-in-python/
❤12👍5
  Топ 5 ресурсов для изучения Python: часть 3
На канале уже есть пара подборок из самых годных ресурсов, которые помогают прокачаться в Python. Делюсь ещё пятёркой самых достойных.
Сохраняйте себе и учитесь на здоровье:
1. Pythonspot
Pythonspot это каталог ресурсов и материалов по Python, в котором весь контент разделён на категории: по уровню навыков, тематике (пользовательские интерфейсы, сети и т. д.) и платформе (Android, iOS и т.п.).
2. Онлайн-книга «Укус питона»
Это отличный учебник для начинающих. Более опытные программисты могут смело использовать его в качестве справочника — на случай, если нужно будет что-то вспомнить. Книга бесплатная, есть русский перевод.
3. Курс по Python от университета Райса на Coursera
Курс замёт займет несколько недель, зато регистрация и сам курс совершенно бесплатны. А вот если будет нужен сертификат, за него уже придётся платить.
4. Ускоренный курс по Python
Это серия документов и презентаций, которые могут использоваться для быстрого обучения языку Python программистов, знающих другие языки.
5. Real Python
Real Python это премиальный онлайн-курс с более чем 1300 страниц контента, 9 часов видео, упражнениями и примерам кода. Подписка платная, но на сайте есть много статей, которые можно читать совершенно бесплатно.
#подборка
  
  
  
  
  
На канале уже есть пара подборок из самых годных ресурсов, которые помогают прокачаться в Python. Делюсь ещё пятёркой самых достойных.
Сохраняйте себе и учитесь на здоровье:
1. Pythonspot
Pythonspot это каталог ресурсов и материалов по Python, в котором весь контент разделён на категории: по уровню навыков, тематике (пользовательские интерфейсы, сети и т. д.) и платформе (Android, iOS и т.п.).
2. Онлайн-книга «Укус питона»
Это отличный учебник для начинающих. Более опытные программисты могут смело использовать его в качестве справочника — на случай, если нужно будет что-то вспомнить. Книга бесплатная, есть русский перевод.
3. Курс по Python от университета Райса на Coursera
Курс замёт займет несколько недель, зато регистрация и сам курс совершенно бесплатны. А вот если будет нужен сертификат, за него уже придётся платить.
4. Ускоренный курс по Python
Это серия документов и презентаций, которые могут использоваться для быстрого обучения языку Python программистов, знающих другие языки.
5. Real Python
Real Python это премиальный онлайн-курс с более чем 1300 страниц контента, 9 часов видео, упражнениями и примерам кода. Подписка платная, но на сайте есть много статей, которые можно читать совершенно бесплатно.
#подборка
👍15❤4👏1
  Ищем человека, который будет строить сообщество по темам Python / Data Science / AI в Tproger
Если вы довольно неплохо разбираетесь в этих темах и при этом видите в себе желание рассказывать об этом другим разработчикам и вовлекать их в горячие обсуждения — возможно, это именно ваша вакансия.
Подробности, тестовое задание и отклик здесь: https://tprg.ru/GEZL
  
  
  
  
  
Если вы довольно неплохо разбираетесь в этих темах и при этом видите в себе желание рассказывать об этом другим разработчикам и вовлекать их в горячие обсуждения — возможно, это именно ваша вакансия.
Подробности, тестовое задание и отклик здесь: https://tprg.ru/GEZL
❤4
  Cоздаём видео по текстовому описанию у себя дома на основе диффузионной нейросети ModelScope text2video 1.7B
19 марта Alibaba выпустили нейросеть ModelScope text2video, создающую короткие видеоролики по текстовому описанию. Подобных нейросетей сейчас становится всё больше и больше. Но если остальные требуют для запуска каких-нибудь A100 с 40 ГБ видеопамяти, то эта нейросетка крута тем, что её можно вполне себе комфортно запустить с 12 ГБ видеопамяти. А энтузиасты даже умудрились уместить её в 4 ГБ.
И вот неплохой, но простенький гайд, как работать с этой моделькой с помощью Python: https://habr.com/ru/post/724284/
#ml #нейросети
  
  
  19 марта Alibaba выпустили нейросеть ModelScope text2video, создающую короткие видеоролики по текстовому описанию. Подобных нейросетей сейчас становится всё больше и больше. Но если остальные требуют для запуска каких-нибудь A100 с 40 ГБ видеопамяти, то эта нейросетка крута тем, что её можно вполне себе комфортно запустить с 12 ГБ видеопамяти. А энтузиасты даже умудрились уместить её в 4 ГБ.
И вот неплохой, но простенький гайд, как работать с этой моделькой с помощью Python: https://habr.com/ru/post/724284/
#ml #нейросети
🔥5👍3
  Пока некоторые остальные разработчики не воспринимают всерьёз питонистов, Superjob насчитал у них зарплату в 500 тысяч рублей в месяц.
По их данным, это самая большая зарплата среди айтишников. В топе также программисты на PHP и C++.
Пока ты смеёшься над питонистами и пхп-шниками, они смеются над твоей зарплатой ¯\_(ツ)_/¯
#карьера #кек
  
  
  
  
  
По их данным, это самая большая зарплата среди айтишников. В топе также программисты на PHP и C++.
Пока ты смеёшься над питонистами и пхп-шниками, они смеются над твоей зарплатой ¯\_(ツ)_/¯
#карьера #кек
👍16😁9🍌3🔥2❤1
  Руководство по работе с Gradio: создание веб-интерфейса для моделей машинного обучения
В этом руководстве вы узнаете, как создавать простые в использовании настраиваемые компоненты пользовательского интерфейса для вашей модели машинного обучения, любого API или даже произвольной функции Python с помощью нескольких строк кода и Gradio: https://proglib.io/p/rukovodstvo-po-rabote-s-gradio-sozdanie-veb-interfeysa-dlya-modeley-mashinnogo-obucheniya-2023-03-06
#ml #библиотека
  
  
  
  
  
В этом руководстве вы узнаете, как создавать простые в использовании настраиваемые компоненты пользовательского интерфейса для вашей модели машинного обучения, любого API или даже произвольной функции Python с помощью нескольких строк кода и Gradio: https://proglib.io/p/rukovodstvo-po-rabote-s-gradio-sozdanie-veb-interfeysa-dlya-modeley-mashinnogo-obucheniya-2023-03-06
#ml #библиотека
👍3👀2
  Когда использовать .__repr__(), а когда — .__str__() в Python?
Любая программа показывает данные. В основном, это информация для пользователей, но есть и способы показывать более подробную информацию, которая может пригодиться разработчику.
Именно здесь появляются .__repr__() vs .__str__(). Если вкратце, .__repr__() возвращает подробное описание для разработчика, а .__str__() возвращает более простое описание с информацией для пользователя программы. Но, как всегда, есть нюансы.
И вот отличная статья, в которой доступным языком (хоть и на английском) объясняют, что, когда и где лучше использовать: https://realpython.com/python-repr-vs-str/
#советы
  
  
  
  
  
Любая программа показывает данные. В основном, это информация для пользователей, но есть и способы показывать более подробную информацию, которая может пригодиться разработчику.
Именно здесь появляются .__repr__() vs .__str__(). Если вкратце, .__repr__() возвращает подробное описание для разработчика, а .__str__() возвращает более простое описание с информацией для пользователя программы. Но, как всегда, есть нюансы.
И вот отличная статья, в которой доступным языком (хоть и на английском) объясняют, что, когда и где лучше использовать: https://realpython.com/python-repr-vs-str/
#советы
👍11👎3
  Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален
Капча — автоматизированный тест Тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но текстовая капча сильно устарела, тем не менее, её до сих пор используют популярные сервисы. В том числе и VK.
В этом мануале показали, как создать собственную нейросеть по распознанию текстовых капч, имея под рукой домашний компьютер, базовые знания в Python и немножко примеров капч: https://habr.com/ru/post/673440/
#нейросети #безопасность
  
  
  
  
  
Капча — автоматизированный тест Тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но текстовая капча сильно устарела, тем не менее, её до сих пор используют популярные сервисы. В том числе и VK.
В этом мануале показали, как создать собственную нейросеть по распознанию текстовых капч, имея под рукой домашний компьютер, базовые знания в Python и немножко примеров капч: https://habr.com/ru/post/673440/
#нейросети #безопасность
👍23👎3❤1
  Большая шпаргалка по Python
Годный репозиторий с почти 32 тысяч звёзд и последними обновлениями около недели назад. Шпаргалка покрывает большинство возможностей Python, поэтому её полезно держать при себе каждому Python-разработчику.
Забирайте себе: https://github.com/gto76/python-cheatsheet
#шпаргалка
  
  
  
  
  
Годный репозиторий с почти 32 тысяч звёзд и последними обновлениями около недели назад. Шпаргалка покрывает большинство возможностей Python, поэтому её полезно держать при себе каждому Python-разработчику.
Забирайте себе: https://github.com/gto76/python-cheatsheet
#шпаргалка
👍26❤2👏2
  Ну наконец-то кто-то поможет перефразировать все ваши «претензии» к коллеге в доброжелательный текст без мата.
#нейросети #кек
#нейросети #кек
👍39😁8❤3🔥2
  Почему большинство программистов выбирают Python?
По последним данным количество пользователей Python увеличилось на 4,4 млн человек. Это самый большой прирост среди многих языков. Более 70% разработчиков, занятых в области науки о данных и машинного обучения, также используют Python.
Если вы тоже знаете эти факты, но у вас иногда не хватает аргументов, чтобы объяснить свой выбор сишникам, джаваскриптерам и любителям ассемблера, эта статья для вас: https://nuancesprog.ru/p/17069/
  
  
  
  
  
По последним данным количество пользователей Python увеличилось на 4,4 млн человек. Это самый большой прирост среди многих языков. Более 70% разработчиков, занятых в области науки о данных и машинного обучения, также используют Python.
Если вы тоже знаете эти факты, но у вас иногда не хватает аргументов, чтобы объяснить свой выбор сишникам, джаваскриптерам и любителям ассемблера, эта статья для вас: https://nuancesprog.ru/p/17069/
👍2
  Самые популярные вопросы на собеседовании: «В чем разница между pass, continue и break?»
Иногда бывает нужно просто ничего не делать. Но Python не позволяет создавать класс, функцию или оператор
Код в примере ниже выдаст ошибку, если внутри
#собеседование
  
  
  
  
  
Иногда бывает нужно просто ничего не делать. Но Python не позволяет создавать класс, функцию или оператор
if без кода внутри. Здесь нам помогает заглушка pass — она как раз и означает «ничего не делать».Код в примере ниже выдаст ошибку, если внутри
i > 3 не будет кода, поэтому мы используем pass:a = [1,2,3,4,5]for i in a: if i > 3:  pass print(i)#=> 1#=> 2#=> 3#=> 4#=> 5continue отправляет вас к следующему элементу в цикле, останавливая выполнение для текущего элемента. Так print(i) никогда не получает значения i < 3:for i in a: if i < 3:  continue print(i)#=> 3#=> 4#=> 5break же полностью прерывает цикл, и последовательность больше не повторяется. В нашем примере на цифре 3 цикл прерывается, а этот и следующие элементы не печатаются:for i in a: if i == 3:  break print(i)   #=> 1#=> 2#собеседование
👍36❤3💩3
  Как подружить Алису с ChatGPT с помощью Python
О ChatGPT сейчас не говорит только ленивый. Но ему чего-то не хватает, например голоса.
И вот интересный гайд о том, как встроить ChatGPT в Алису: https://habr.com/ru/post/725704/
#нейросети #ml #туториал
  
  
  
  
  
О ChatGPT сейчас не говорит только ленивый. Но ему чего-то не хватает, например голоса.
И вот интересный гайд о том, как встроить ChatGPT в Алису: https://habr.com/ru/post/725704/
#нейросети #ml #туториал
🔥16❤2💩2👍1
  