Что вы можете делать с Python? Вот 3 основных программы Python.

chto vy mozhete delat s python vot 3 osnovnyh programmy?v=1656597031

Ю.К. Сугги

Если вы думаете изучить Python – или если вы недавно начали его изучать – вы можете спросить себя:

«Для чего я могу использовать Python?»

Что ж, на этот вопрос затруднились ответить, потому что существует очень много программ для Python.

Но со временем я заметил, что есть 3 основных популярных приложения для Python:

  • Веб-разработка
  • Наука о данных – включая машинное обучение, анализ данных и визуализацию данных
  • Написание сценариев

Поговорим о каждой из них по очереди.

Веб-разработка

Веб-фреймворки, основанные на Python Джанго и Колба В последнее время стали очень популярны для веб-разработки.

Эти веб-фреймворки помогают создавать серверный код (бэкенд-код) на Python. Это код, который выполняется на сервере, а не на устройствах и браузерах пользователей (фронт-код). Если вы не знакомы с разницей между бэкенд-кодом и интерфейсным кодом, просмотрите мою сноску ниже.

Но подождите, зачем мне нужен веб-фреймворк?

Это потому, что веб-фреймворк упрощает построение общей логики сервера. Это включает в себя сопоставление различных URL-адресов с фрагментами кода Python, работу с базами данных и создание HTML-файлов, которые пользователи видят в своих браузерах.

Какой веб-фреймворк Python использовать?

Django и Flask являются двумя самыми популярными веб-фреймворками Python. Я рекомендую использовать один из них, если вы только начинаете.

Какая разница между Django и Flask?

На эту тему есть замечательная статья Гарета Дваера, поэтому позвольте мне процитировать ее здесь:

<начинать квоte>

Основные контрасты:

  • Flask обеспечивает простоту, гибкость и мелкозернистый контроль. Это неосмысленно (это позволяет решать, как вы хотите реализовать вещи).
  • Django обеспечивает комплексный опыт: вы получаете панель администратора, интерфейсы баз данных, ORM [object-relational mapping]и структуру каталогов для ваших программ и проектов из коробки.

Пожалуй, следует выбрать:

  • Flask, если вы сосредоточены на опыте и возможностях обучения, или если вы хотите больше контролировать какие компоненты использовать (например, какие базы данных вы хотите использовать и как вы хотите с ними взаимодействовать).
  • Django, если вы сосредоточены на конечном продукте. Особенно если вы работаете над простым приложением, таким как новостной сайт, электронный магазин или блог, и хотите, чтобы всегда был единственный очевидный способ делать вещи.

te>

Другими словами, если вы новичок, Flask, вероятно, лучший выбор, поскольку он имеет меньше компонентов, с которыми нужно иметь дело. Кроме того, Flask является лучшим выбором, если вам нужно больше настроек.

С другой стороны, если вы хотите создать что-то простое, Django, вероятно, позволит вам достичь этого быстрее.

Теперь, если вы хотите изучить Django, я рекомендую книгу под названием Django для начинающих. Вы можете найти его здесь.

Вы также можете найти бесплатные образцы разделов этой книги здесь.

Ладно, переходим к следующей теме!

Наука о данных – включая машинное обучение, анализ данных и визуализацию данных

Прежде всего, давайте рассмотрим, что такое машинное обучение. есть.

Я думаю, что лучший способ объяснить, что такое машинное обучение — это привести простой пример.

Скажем, вы хотите разработать приложение, которое автоматически распознает то, что на изображении.

Итак, учитывая эту картинку ниже (Рисунок 1), вы хотите, чтобы ваша программа распознала, что это собака.

0*Mbj3L2cl0zzT2A0L
Рисунок 1

Учитывая этот другой ниже (Рисунок 2), вы хотите, чтобы ваше приложение распознало, что это таблица.

0*gxTn_CbMyCcQ1NFV
Рисунок 2

Вы можете сказать, что ж, я могу просто написать некоторый код для этого. К примеру, может быть, если на картинке много светло-коричневых пикселей, то можно сказать, что это собака.

Или, возможно, вы можете понять, как обнаружить края изображения. Тогда можно сказать, если прямых ребер много, то это таблица.

Однако такой подход достаточно быстро становится сложным. Что делать, если на рисунке белая собака без каштановых волос? А если на рисунке изображены круглые части стола?

Здесь на помощь приходит машинное обучение.

Машинное обучение обычно реализует алгоритм, автоматически обнаруживающий шаблон в заданном введенном данных.

Вы можете дать, например, 1000 изображений собаки и 1000 изображений таблицы для алгоритма машинного обучения. Тогда он узнает разницу между собакой и столом. Когда вы дадите ему новое изображение собаки или стола, он сможет распознать, какой это.

Я думаю, что это чем-то сродни тому, как ребенок узнает новое. Как ребенок узнает, что одна вещь похожа на собаку, а другая на стол? Пожалуй, из груды примеров.

Вы, пожалуй, прямо не скажете ребенку: «Если что-то пушистое и светло-каштановые волосы, то это, вероятно, собака».

Вы просто скажете: «Это собака. Это тоже собака. А этот стол. Это тоже стол».

Алгоритмы машинного обучения работают примерно так же.

Вы можете применить ту же идею к:

  • системы рекомендаций (например, YouTube, Amazon и Netflix)
  • распознавание лица
  • распознавание голоса

среди других приложений.

Популярные алгоритмы машинного обучения, о которых вы, возможно, слышали, включают в себя:

  • Нейронные сети
  • Глубокое обучение
  • Опорные векторные машины
  • Случайный лес

Вы можете использовать любой из вышеперечисленных алгоритмов, чтобы решить проблему маркировки изображений, которую я объяснил ранее.

Python для машинного обучения

Есть популярные библиотеки машинного обучения и фреймворки для Python.

Две из самых популярных scikit-научиться и TensorFlow.

  • scikit-learn имеет интегрированные некие из более фаворитных методов машинного обучения. Некоторые из них я упоминал выше.
  • TensorFlow – это скорее низкоуровневая библиотека, позволяющая создавать собственные алгоритмы машинного обучения.

Если вы только начинаете работу с проектом машинного обучения, я бы рекомендовал вам сначала начать с scikit-learn. Если вы станете сталкиваться с проблемами эффективности, я бы начал изучать TensorFlow.

Как научиться машинному обучению?

Чтобы выучить основы машинного обучения, я бы порекомендовал курс машинного обучения Стэнфорду или Калтеху.

Обратите внимание, что для понимания некоторых материалов этих курсов вам требуются базовые знания вычисления и линейной алгебры.

Тогда я бы практиковал то, что вы научились на одном из этих курсов по Kaggle. Это веб-сайт, на котором люди соревнуются, чтобы создать самый лучший алгоритм машинного обучения для определенной проблемы. Они также имеют хорошие учебники для начинающих.

А как насчет анализа данных и визуализации данных?

Чтобы помочь вам понять, как они могут выглядеть, приведу простой пример.

Скажем, вы работаете в компании, продающей некоторые продукты в Интернете.

В то время как аналитик данных, вы можете нарисовать такую ​​столбчатую диаграмму.

1*62T-rtheKPehgZdPTEpKww
Гистограмма 1 – создана с помощью Python

Из этого графика мы можем сказать, что мужчины купили более 400 единиц этого продукта, а женщины – около 350 единиц этого продукта в это воскресенье.

Как аналитик данных, можно найти несколько возможных объяснений этой разницы.

Одним из очевидных возможных объяснений является то, что этот продукт более популярен у мужчин, чем у женщин. Другим возможным объяснением может быть то, что размер выборки слишком мал и эта разница была вызвана просто случайно. И еще одно возможное объяснение может состоять в том, что мужчины почему-то чаще покупают этот продукт только в воскресенье.

Чтобы понять, какое из этих объяснений правильно, вы можете нарисовать другой график, подобный этому.

1*VgNfqK5XxNfHxx6S4VFCjQ
Линейная диаграмма 1 – создана с помощью Python

Вместо того чтобы показывать данные только за воскресенье, мы рассматриваем данные за неделю. Как вы можете видеть, из этого графика мы видим, что эта разница достаточно постоянна в разные дни.

Из этого небольшого анализа вы можете заключить, что самым убедительным объяснением этой разницы является то, что этот продукт просто более популярен у мужчин, чем у женщин.

С другой стороны, что делать, если вы вместо этого увидите такой график?

1*dMpu_fd-THNXRJhHIq2O3g
Линейная диаграмма 2 – также создана с помощью Python

Тогда что объясняет разницу в воскресенье?

Вы можете сказать, возможно, мужчины почему-то покупают больше этого продукта только в воскресенье. Или, возможно, это было просто стечение обстоятельств, что мужчины покупали его больше в воскресенье.

Это упрощенный пример того, как может выглядеть анализ данных в реальном мире.

Работа по анализу данных, которую я выполнял, когда работал у Google и Microsoft, была очень похожа на этот пример — только более сложная. На самом деле я использовал Python в Google для такого анализа, в то время как я использовал JavaScript в Microsoft.

Я использовал SQL в обеих этих компаниях, чтобы получить данные из наших баз данных. Затем я использую Python и Matplotlib (в Google) или JavaScript и D3.js (в Microsoft), чтобы визуализировать и проанализировать эти данные.

Анализ данных / визуализация с помощью Python

Одной из популярнейших библиотек для визуализации данных является Matplotlib.

Это хорошая библиотека для начала, потому что:

  • С ней легко начать
  • Некоторые другие библиотеки, такие как seaborn, основаны на нем. Итак, изучение Matplotlib поможет вам изучить эти другие библиотеки позже.

Как научиться анализу/визуализации данных с помощью Python?

Сначала следует изучить основы анализа и визуализации данных. Когда я искал хорошие ресурсы для этого в Интернете, я не нашел ни одного. Итак, я в итоге сделал видео на YouTube по этой теме:

Я также сделал полный курс по этой теме на Pluralsight, который вы можете пройти бесплатно, подписавшись на их 10-дневную бесплатную пробную версию.

Я бы рекомендовал их обоим.

После изучения основ анализа и визуализации данных, изучение основ статистики с таких веб-сайтов как Coursera и Khan Academy также будет полезным.

Написание сценариев

Что такое сценарий?

Сценарии обычно подразумевают написание небольших программ, предназначенных для автоматизации простых задач.

Так что позвольте привести пример из моего личного опыта.

Раньше я работал в небольшом стартапе в Японии, где у нас была система поддержки по электронной почте. Для нас это была система ответов на вопросы, которые клиенты посылали нам по электронной почте.

Когда я там работал, у меня была задача подсчитать количество писем, содержащих определенные ключевые слова, чтобы мы могли проанализировать полученные письма.

Мы могли бы сделать это вручную, но вместо этого я написал простую программу/простой сценарий для автоматизации этой задачи.

На самом деле, тогда мы использовали Ruby для этого, но Python также хороший язык для такого рода задач. Python подходит для этого типа задач главным образом потому, что он имеет относительно простой синтаксис и легко писать. Также можно быстро написать что-нибудь небольшое с ним и проверить это.

А как насчет встроенных программ?

Я не эксперт по встроенным программам, но знаю, что Python работает с Rasberry Pi. Кажется, это популярное приложение среди любителей оборудования.

А как насчет игр?

Вы можете использовать библиотеку под названием PyGame для разработки игр, но это не самый популярный игровой движок. Вы можете использовать его для создания хобби проекта, но лично я бы не выбрал его, если вы серьезно занимаетесь разработкой игр.

Скорее, я бы рекомендовал начать работу с Unity C#, который является одним из самых популярных игровых движков. Он позволяет создавать игру для многих платформ, включая Mac, Windows, iOS и Android.

А как насчет настольных программ?

Вы можете создать его на Python с помощью Tkinter, но это тоже не кажется самым популярным выбором.

Вместо этого, похоже, такие языки, как Java, C# и C++, более популярны для этого.

Недавно некоторые компании начали использовать JavaScript для создания настольных приложений.

Например, настольное приложение Slack было создано с помощью чего-то под названием Electron. Он позволяет создавать настольные приложения с JavaScript.

Лично, если бы я создавал настольное приложение, я выбрал бы вариант JavaScript. Это позволяет повторно использовать часть кода из веб-версии, если он у вас есть.

Однако я также не эксперт по программам для настольных компьютеров, поэтому, пожалуйста, сообщите мне в комментарии, если вы не согласны или согласны со мной с этим.

Python 3 или Python 2?

Я бы рекомендовал Python 3, поскольку он более современен и на данный момент является более популярным вариантом.

Скажем, вы хотите создать что-то вроде Instagram.

Затем необходимо создать интерфейсный код для каждого типа устройства, которое вы хотите поддерживать.

Вы можете использовать, например:

  • Swift для iOS
  • Java для Android
  • JavaScript для веб-браузеров

Каждый набор кода будет работать на каждом типе устройства/браузера. Это будет набор кода, который определяет, каким будет макет программы, как должны выглядеть кнопки при нажатии их и т.д.

Однако вам все равно понадобится возможность хранить информацию и фотографии пользователей. Вы захотите хранить их на своем сервере, а не только на устройствах ваших пользователей, чтобы подписчики каждого пользователя могли просматривать его фотографии.

Вот здесь на помощь приходит бэкенд-код на стороне сервера. Вам нужно будет написать некоторый бэкенд-код, чтобы сделать такие вещи, как:

  • Следите за тем, кто за кем следит
  • Сжимайте фотографии, чтобы они не занимали много места
  • Рекомендовать фотографии и новые аккаунты каждому пользователю в открытие особенность

Следовательно, это разница между бэкенд-кодом и интерфейсным кодом.

Кстати, Python – не единственный хороший выбор для написания бэкендового/серверного кода. Существует много других популярных вариантов, в частности, Node.js, который базируется на JavaScript.

Понравилась ли эта статья? Тогда вам может понравиться мой канал на YouTube.

У меня есть образовательный YouTube-канал по программированию под названием CS Dojo с 440 000+ подписчиками, где я создаю больше контента, чем эта статья.

К примеру, вам могут понравиться эти видео:

В любом случае, очень спасибо, что прочли мою статью!

Добавить комментарий

Ваш адрес email не будет опубликован.