Руководство. работа с python в visual studio

Смех и легкость в общении

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

Это, пожалуй, самый важный фактор: вы не ощущаете, что ваше общение является натянутым, вы ведете себя вполне непринужденно. Сильная химия – это когда вам не приходится специально придумывать темы для разговоров и чувствовать себя не в своей тарелке. Чем больше неловких моментов у вас в общении, тем слабее ваша химия.

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

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

В чем состояло открытие?

Даннинг и Крюгер определили, что наиболее опасной является ситуация, когда люди имеют лишь поверхностные знания о предмете. Эта идея знакома человечеству уже несколько поколений подряд. Так, еще в 1709 году Александр Поуп написал в своей книге «Опыт о критике» следующую фразу: «Полузнайство – вещь опасная».

Или, как сказал юморист Джош Биллингс,«ваши проблемы вызваны не тем, что вы чего-то не знаете, а тем, в чем вы уверены наверняка, но ваши знания при этом ошибочны». К сожалению, простого решения здесь не найти. По словам Даннинга, для того, чтобы плохой работник осознал свою некомпетентность, ему понадобится та самая экспертиза, которой у него нет.

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

Чистый и информативный код

Самая базовая вещь в документации — это сам код. Цель состоит в том, чтобы создать читаемое программное обеспечение, пригодное для повторного использования. Этого можно добиться, придерживаясь нескольких принципов:

  • Имена переменных, функций и классов должны быть осмысленными, удобопроизносимыми и последовательными.
  • Придерживайтесь принципа единственной ответственности. Он заключается в том, что каждая функция выполняет только одну задачу (то же самое относится к классам и модулям).
  • Используйте статическую типизацию для больших проектов. Динамические языки, такие как Python, делают идентификацию объектов более сложной.
  • Не изобретайте велосипед Эффективно используйте стандартные библиотеки Python. Ведь хороший разработчик всегда использует существующий код в своих интересах.
  • Придерживайтесь единого стиля.
  • Прислушивайтесь к своей интуиции, делая код элегантным и приятным.

Прототипирование

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

Кроме того, с точки зрения Python-программ компоненты, написанные на Python и С, выглядят одинаково. Поэтому нередко систему вначале быстро собирают и тестируют на Python, а потом уже переносят самые требовательные к ресурсам компоненты на компилируемые языки типа С или C++.

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

«Для любого прототипа подойдёт Python, но только до достижения определённого количества пользователей, которые одновременно будут работать с сервисом. Для меня это планка в 10 тысяч человек. Когда она будет пройдена, стоит подумать про Go. Хотя возможностей Python может хватить и для этого числа пользователей — всё зависит от проекта.

Но эта особенность не должна останавливать проекты на Python, потому что при масштабировании проект всё равно переписывают, на каком бы языке он ни был написан. Ведь за время роста меняются технологии, появляются новые фреймворки — переделок не избежать».

Оценка: прототипирование —

Sphinx-документация

Для небольших проектов может быть достаточно README.md. Тем не менее, такие проекты, как библиотеки, нуждаются в намного более обширной технической документации. Сейчас мы покажем вам, как просто создать свою собственную бесплатную документацию с помощью Sphinx, readthedocs и Github Pages!

Итак, давайте создадим документацию! Sphinx — это инструмент, который поможет нам упростить этот процесс.

$ pip install sphinx

$ mkdir docs
$ cd docs

Sphinx задаст нам пару вопросов:

$ sphinx-quickstart

> Separate source and build directories (y/n) : y
> Project name: tinyHTTPie
> Author name(s): Niklas Tiede
> Project release []: 0.1.0
> Project language : enter

Для создания документации нужно использовать команду make html в каталоге docs. Это создаст HTML-код нашей документации.

$ cd ..
$ make html

Если мы откроем файл index.html в браузере (при помощи live server), мы увидим, как он будет выглядеть. Но его внешний вид пока довольно скучный. Поэтому, чтобы придать файлу профессиональный вид, мы используем популярную тему RTD. Давайте установим тему:

$ pip install sphinx_rtd_theme

Теперь настроим файл conf.py. Добавляем следующие строки:

import sphinx_rtd_theme

extensions = 
pygments_style = "sphinx"
version = '0.1.0'
html_theme = 'sphinx_rtd_theme'

А теперь запустим всё снова:

$ make html

Теперь всё выглядит намного лучше! Только нужно добавить немного контента. Документация должна быть написана в синтаксисе reStructuredText(.rst). Здесь вы можете найти хорошую шпаргалку. Кроме того, предварительный просмотр в вашей IDE значительно ускорит работу.

Последний шаг – опубликовать нашу документацию. Для этого нужно зарегистрироваться на readthedocs.org и подключить его к нашему репозиторию.

Вуаля! Создана хорошая документация! (Результат можно посмотреть здесь). Мы надеемся, вы поняли, как писать грамотную документацию, а также — как просто и красиво её оформить.

Automatic coverage reporting

To start using Coveralls, you must first register and link your GitHub account
with Coveralls. Once you have done that, you need to add your repository to
Coveralls. You can do this, by pressing the plus button on the left-hand side of
the Coveralls dashboard and enable whichever repository you want. Once you have
done this, you must update the file so Coveralls are ran after
the test suite. The new file should look like this:

sudo: false
language: python
python:
  - "3.7"
# command to install dependencies
install:
before_script:
  - pip install tox-travis
  - pip install coveralls
# command to run tests
script: tox
after_success: coveralls

Once you have made this update, then Coveralls will run after travis. Next, you
want to add the coverage badge to your file. In the Coveralls
project dashboard, you should see a badge that displays your code coverage,
press the embed button on the top right corner near the badge and copy the
code for rst into your file. The code you copy should have
the following format

.. image:: https://coveralls.io/repos/github/<github_username>/<repo_name>/badge.svg?branch=<branch_name>
   :target: https://coveralls.io/github/<github_username>/<repo_name>?branch=<branch_name>

Использование файла сценария(Программирование в режиме сценария)

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

Используя режим сценария, мы можем записать многострочный код в файл, который может быть выполнен позже. Для этого нам нужно открыть редактор, например блокнот, создать файл с именем и сохранить его с расширением .py, что означает «Python». Теперь мы реализуем приведенный выше пример, используя режим скрипта.

print("hello world"); #here, we have used print() function to print the message on the console.  

Чтобы запустить этот файл с именем first.py, нам нужно запустить следующую команду на терминале.

Шаг – 1: Откройте интерактивную оболочку Python и нажмите «Файл», затем выберите «Создать», откроется новый пустой скрипт, в котором мы можем написать наш код.

Шаг 2: Теперь напишите код и нажмите «Ctrl + S», чтобы сохранить файл.

Шаг – 3: После сохранения кода мы можем запустить его, нажав «Выполнить» или «Выполнить модуль». Он отобразит вывод в оболочку.

Результат будет показан следующим образом.

Шаг – 4: Кроме того, мы также можем запустить файл с помощью терминала операционной системы. Но мы должны знать путь к каталогу, в котором мы сохранили наш файл.

Откройте командную строку и перейдите в каталог.

Нам нужно ввести ключевое слово python, затем имя файла и нажать Enter, чтобы запустить файл Python.

Проекты Python для начинающих разработчиков: игры и испытания

Игры и задания на Python могут улучшить навыки решения проблем.

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

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

Вот список из девяти отличных проектов Python для начинающих:

Игра камень, ножницы, бумага

Одна из самых любимых игр всех времён и простой проект на Python для проверки ваших навыков. Начните с игры игрок против компьютера. Используемые навыки: лучшее понимание циклов while и операторов if.

Создайте бота для Twitter

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

Угадай число

Это может быть забавный проект Python для групп или мероприятий, где необходим случайный генератор. Это полезно для проведения лотерей, настольных игр или просто угадывания случайного числа между игроками. Используемые навыки: знакомство со случайной функцией, переменными, целыми числами, печатью, if / else и циклами while.

Генератор MadLibs

Помните ту игру, в которую мы играли в детстве? Игра, в которой мы вставляли глупые слова в пробелы и истерически смеялись, когда нам их зачитывали?

С генератором Mad Libs вы можете пережить эти весёлые моменты заново. Этот генератор позволяет вам работать над широким спектром навыков Python. Используемые навыки: строки, переменные, конкатенация, печать.

Палач

Подобно генерации случайного числа, эта игра Python заменяет слово там, где пользователь угадывает буквы. Вам также нужно будет создать счётчик, чтобы подсчитать количество угаданных неправильных букв. Используемые навыки: случайная библиотека, логическое значение, ввод / вывод, символ, строка и длина.

Генератор паролей

Создайте генератор случайных паролей для своих друзей и семьи, чтобы обезопасить их учётные записи! Используемые навыки: Случайная библиотека и последовательность.

Роликовые кости

Подобно игре «Угадай число» выше, построение ролика для кости можно использовать для игр. Или вы можете сделать шар, похожий на Magic 8-Ball, чтобы ответить на самые важные вопросы! Используемые навыки: Случайная библиотека, печать, циклы.

Текстовое приключение

Этот проект Python представляет собой простую игру-квест, в которой пользователь может ходить по разным комнатам и получать описание каждой из них. Вы установите ограничения на то, как далеко ходят персонажи, в их направлении и как отслеживать их местоположение. Используемые навыки: переменные, строки, ввод / вывод, if / else, печать и список.

Секретный шифр

Создавайте и расшифровывайте секретные шифры. Это хорошо работает с товарищем-программистом, когда один из вас создаёт шифр, а другой расшифровывает секретное сообщение. Используемые навыки: Методы шифрования.

Базовый образ

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

По возможности старайтесь работать с официальными образами, которые, как правило, часто обновляются и имеют меньше проблем с безопасностью.

Выбор базового образа также влияет на размер итогового. Если для вас размер имеет первостепенное значение, то можно выбрать какой-нибудь очень маленький нетребовательный к ресурсам образ. Такие образы обычно основываются на дистрибутиве Alpine и имеют соответствующий тег. Тем не менее для приложений Python в большинстве случаев отлично подходит slim-вариант официального Python-образа Docker (например, )

Минусы Python

Одним из недостатков Python называют его интерпретируемость. Это замедляет работу масштабных проектов. Считается, что, если ваш проект рассчитан на плотную нагрузку, вам больше подойдут Go или C++ — у скомпилированных языков процесс обработки происходит быстрее. По этой же причине опытные разработчики не советуют обрабатывать видео на Python.

«Я бы не советовал делать на Python сложный рендеринг видео — например, как на YouTube. Python всё равно проиграет в скорости».

Но у интерпретируемости есть и преимущество — писать программы на Python гораздо быстрее, а объём кода обычно в 3−5 раз меньше аналогичных листингов Java и в 5−10 раз меньше эквивалентного кода на C++.

Зачастую Python-код в 1000 раз медленнее аналогичного кода на C/C++. Он не подходит для ПО, которое работает в режиме реального времени и требует минимальных задержек. Тем не менее Python уже неоднократно оптимизировали, и в большинстве сфер он работает достаточно шустро.

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

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

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

GameDev

Хотя стандартом отрасли считаются языки С и C++, Python также можно встретить в игровой индустрии. Да, на Python не пишется ядро игр, но его применяют для описания логики и сценариев. Например, на Python пишет игры компания CCP Games — та же MMORPG EVE Online почти полностью написана на «удаве». При этом в игре одновременно находится от 15 до 50 тысяч игроков — и она неплохо выдерживает такую нагрузку.

Python используют и в культовом World of Tanks — для некоторых компонентов интерфейса и внутриигровых скриптов. Например, код на Python отвечает за состояние маркеров и прицелов (для каждого типа есть свой Python-класс). А вот за расположение маркеров и прицелов на экране отвечает уже клиентский C++-код.

Чаще всего Python используется в разработке игр как дополнительный, встраиваемый в движок скриптовый язык. Программирование игр и создание мультимедийного контента возможно с помощью библиотек pygame, cgkit, pyglet, РуSoy, PandaBD. Но всё-таки Python — далеко не самый популярный инструмент для геймдева. Делать на нём сложную красивую графику и движки требовательных к ресурсам игр — не лучшее решение.

Оценка: GameDev —

Приложение для анализа настроения

Настроение — это наши мысли и чувства. Анализ настроения — это изучение субъективной информации в выражениях. Это сфера обработки естественного языка (Natural Language Processing, NLP). С помощью NLP мы можем распределить данные на позитивные, негативные или нейтральные. Для извлечения информации о настроении из текста используются различные техники обработки естественного языка. 

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

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

В этом деле вам помогут соответствующие библиотеки, а именно: NLTK, TextBlob, spacy, Gensim и CoreNLP. 

Идентификаторы Python

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

  • Имя переменной должно начинаться с английской буквы или символа подчеркивания(_).
  • Имя переменной не может начинаться с числа.
  • В имени переменной нельзя использовать специальные символы.
  • Имя переменной чувствительно к регистру.

Пример –

number = 10
print(num)

_a = 100
print(_a)

x_y = 1000
print(x_y)

Выход:

10
100
1000

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

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Анализ данных

В Python-библиотеках есть всё необходимое для работы с данными и их визуализации. Например, чтобы быстро создавать структуры и управлять ими, используют библиотеку Pandas. А визуализируют их с помощью Matplotlib, Seaborn или Plotly. Они позволяют рисовать много разных диаграмм и матриц.

Одна из фундаментальных библиотек — NumPy, она подходит для сложных вычислений и поддерживает многомерные массивы. Для работы с многомерными данными также используют набор инструментов PyOD, для индексации документов на естественном языке — Gensim, а со статистическими расчётами отлично справляется SciPy.

Поэтому Python по праву возглавляет рейтинги языков программирования для Data Analysis.

Также в Python предусмотрены интерфейсы для всех популярных реляционных баз данных — Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite и так далее.

«Python — идеальный инструмент для анализа данных в любой сфере. Это было понятно, ещё когда я учился в университете на мехмате и изучал язык С. Я хотел освоить Python, но тогда у меня не было реальных задач, поэтому я придумал себе задачу сам. Как раз набирал обороты Instagram, и я увидел, что мои фото получают разное количество лайков. Мне стало интересно проанализировать, от чего зависит их количество.

В то время я ещё почти ничего не знал про Python и анализ данных. Но благодаря этой задаче разобрался с API Instagram, освоил пакет request, научился работать с БД из Python. В итоге регулярно собирал данные, сколько лайков и комментариев набирали фотографии, — потом это пригодилось в работе».

Оценка: анализ данных —

Базовый синтаксис Python

Отступы в Python

Отступы – наиболее важная концепция языка программирования Python. Неправильное использование отступов приведет к ошибке “IndentationError” в нашем коде.

Отступы – это не что иное, как добавление пробелов перед оператором, когда это необходимо. Без отступа Python не знает, какой оператор выполнять следующим. Отступ также определяет, какие операторы принадлежат какому блоку. Если нет отступа или  отступ неправильный, отобразится «IndentationError» и прервет наш код.

Отступы Python определяют, какая группа операторов принадлежит конкретному блоку. В языках программирования, таких как C, C ++, java, для определения блоков кода используются фигурные скобки {}.

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

Пример –

list1 = 
for i in list1:
    print(i)
    if i==4:
       break
print("End of for loop")

Выход:

1
2
3
4
End of for loop

Объяснение:

В приведенном выше коде цикл for имеет блоки кода, если оператор имеет блок кода внутри цикла for. Оба с четырьмя пробелами с отступом. Последний оператор print() без отступа; это означает, что он не принадлежит циклу for.

Комментарии в Python

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

В Python мы можем применять комментарии, используя символ решетки #. Интерпретатор Python полностью игнорирует строки, за которыми следует символ решетки. Хороший программист всегда использует комментарии, чтобы сделать код стабильным. Давайте посмотрим на следующий пример комментария.

name  = "Thomas"   # Assigning string value to the name variable 

Мы можем добавить комментарий в каждую строку кода Python.

Fees = 10000      # defining course fees is 10000
Fees = 20000      # defining course fees is 20000

Хорошая идея – добавить код в любую строку раздела кода, цель которого неочевидна. Это лучший способ изучить при написании кода.

Типы комментариев

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

Однострочный комментарий начинается с символа решетки #, за которым следует текст для дальнейшего объяснения.

# defining the marks of a student 
Marks = 90

Мы также можем написать комментарий рядом с оператором кода. Рассмотрим следующий пример.

Name = "James"   # the name of a student is James
Marks = 90            # defining student's marks
Branch = "Computer Science"   # defining student branch

Многострочные комментарии – Python не имеет явной поддержки многострочных комментариев, но мы можем использовать символ решетки # для нескольких строк. Например –

# we are defining for loop
# To iterate the given list.
# run this code.

Мы также можем использовать другой способ.

" " " 
This is an example
Of multi-line comment
Using triple-quotes 
" " "

Это основное введение в комментарии. Просмотрите наш урок по комментариям Python, чтобы изучить его подробно.

Что такое эффект Даннинга-Крюгера?

Это метакогнитивное искажение, предполагающее, что человек верит, будто он умнее и компетентнее, чем на самом деле. Впервые данное понятие было упомянуто Крюгером и Даннингом в их исследовании «Неквалифицированные и не знающие об этом: как трудности определения человеческой некомпетентности приводят к завышенной самооценке».

По своей сути, теория показывает, что люди с низкой квалификацией не умеют критически мыслить и неспособны понять, насколько их квалификация является низкой. Это приводит к появлению у них ошибочного чувства полноты своих знаний и высокой компетентности. Другими словами – это когда человек слишком глупый, чтобы осознать степень своей глупости.

Машинное обучение

В ML, Big Data, AI и других модных словах Python — настоящий король. Он легко обходит главных конкурентов — R и Julia (см. нашу статью о языках программирования для ML). На Python собрано больше всего ML-проектов на GitHub. Лидирует он и в авторитетном рейтинге Towards Data Science.

А ещё у Python куча специализированных библиотек.

  1. Scikit-learn, на которой Spotify делает свою рекомендательную систему.
  2. Ramp на основе Pandas для быстрого прототипирования в ML.
  3. Культовая библиотека для машинного обучения TensorFlow, разработанная исследователями из группы Google Brain в рамках Google AI. Её используют для создания алгоритмов машинного обучения и моделирования сложных процессов.
  4. PyTorch для создания нейронных сетей.

«Я давно занимаюсь инвестициями — в «Тинькофф.Пульсе» можете найти меня под ником znbiz, а с недавних пор я ещё и разрабатываю свою платформу для управления инвестиционными портфелями. Вот как мне помог Python:

  1. Нужны были исторические данные — написал парсеры на Python.
  2. Нужно было сделать модель и обучить её на данных — и тут тоже мне помог Python.
  3. Нужно получать уведомления (удобнее всего через Telegram) — написал Telegram-бота на Python.
  4. Понадобился бэк для выгрузки портфелей — да Python именно для этого и создан».

Оценка: машинное обучение —

Создание команд

Для создания команды helloworld изменим файл setup.py:

setup(
    ...
    entry_points={
        'console_scripts'
            'helloworld = helloworld.core:print_message'
        }
    )

В параметре entry_points мы задаем словарь с «точками вызова» нашего приложения. Ключ console_scripts
задает список создаваемых исполняемых скриптов (в Windows это будут exe-файлы). В данном случае
мы указали создание исполняемого скрипта helloworld при вызове которого будет запускаться метод print_message
из модуля helloworld.core.

Переустановим модуль в наше окружение и проверим работу созданного скрипта (для этого прийдется активировать наше окружение):

$ ./env/bin/python setup.py install
$ source ./env/bin/activate
(env)
$ helloworld
Hello World!
(env)

Виртуальное окружение

Virtualenv — пакет применяемый для создания изолированного python-окружения. Используем
его для тестирования нашего проекта.

Создадим окружение env:

$ virtualenv env

Команда создаст директорию env внутри нашего проекта и установит туда python, pip и distribute.
Произведем в него установку нашего проекта.

$ ./env/bin/python setup.py install
running install
running bdist_egg
running egg_info
...
Processing dependencies for helloworld==1.0
Finished processing dependencies for helloworld==1.0

И протестируем его работоспособность:

$ ./env/bin/python
>>> import helloworld.core as hw
>>> hw.get_message()
'Hello World!'
>>> hw.print_message()
Hello World!

Заключение

Streamlit сделал процесс создания приложений значительно проще, и я однозначно рекомендую его к использования.

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

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

Отдельный бонус — это то, что Streamlit является бесплатным open source решением, которое работает прямо из коробки. В прошлом мне приходилось обращаться к друзьям-разработчикам для любого изменения в демо или презентации; теперь все это я могу относительно просто проделать сам.

Я не знаю, будут ли Streamlit-приложения хорошо работать в производственной среде, но они отлично подходят для proof of concept и демо. Я планирую продолжить работать со Streamlit, и, учитывая простоту использования и возможности, которые он предоставляет, я думаю, вам тоже стоит об этом задуматься.Вы можете найти код финальной версии приложения здесь.

Оригинал: How to write Web apps using simple Python for Data Scientists?

Перевод: Ухарова Елена

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: