Что можно написать на python новичку
Перейти к содержимому

Что можно написать на python новичку

  • автор:

5 классных вещей, которые вы можете освоить с Python

Python — универсальный язык программирования. По данным на январь 2023 года, он стал самым популярным согласно рейтингам TIOBE и PYPL.

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

Что пишут на Python

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

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

Практическое применение фреймворков с поддержкой Python может быть следующим:

  • NumPy — работа с многомерными массивами и математическими функциями.
  • Django и Flask — разработка веб-приложений.
  • SQLAlchemy — работа с базами данных по технологии ORM.
  • Cocos2d — создание браузерных и мобильных игр.
  • Tornado — разработка высокопроизводительных приложений, которые предназначены для работы с большим количеством пользователей.
  • Bubot — для домашней автоматизации и программирования робототехники.

О том, для каких задач подходит Python, расскажем ниже.

Какие задачи можно решать, используя Python

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

Python поддерживает платформы для веб-разработки: например React, где используется связка Django (backend) + JavaScript (frontend). Этот же технологический стэк используется в DropBox.

Кроме этого, Python позволяет настроить доступ к файловой системе Linux со смартфона. Ниже покажем пример такой программы на Python. Выполните следующие действия:

  1. Откройте Терминал с помощью комбинации клавиш Ctrl + Alt + T.
  2. Запустите файловый сервер с помощью команды:
    python3 -m http.server После этого файловая система станет доступна с любого устройства локальной сети.
  3. Проверьте локальный IP:
    ip addr | grep inet В третьей строке вывода вы увидите нужный IP-адрес.
  4. Откройте браузер на смартфоне. В адресной строке введите следующее:
    123.123.123.123:8000
    Вместо 123.123.123.123 укажите локальный IP-адрес из предыдущего шага.

Автоматизация

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

  • установить напоминание,
  • настроить Cron-задание,
  • загрузить видео на видеохостинг и другие.

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

Например, так можно конвертировать файл из формата CSV в JSON:

  1. Откройте Терминал с помощью комбинации клавиш Ctrl + Alt + T.
  2. Выполните команду:
    python -c «import csv,json;print(json.dumps(list(csv.reader(open(“file.csv”)))))»
    Вместо file.csv укажите имя вашего файла.

Создание игр

Python включает в себя библиотеки для разработки компьютерных и мобильных игр. Наиболее популярная из них — Kivy. Она позволяет создавать кроссплатформенные игры, которые поддерживаются популярными операционными системами: Windows, Linux, Mac, Android и iOS.

Кроме этого, вы можете запускать игры в Терминале Linux (например, Виселица). Для этого:

    Сохраните этот код в файл с расширением .py:
    from random import shuffle
    # Кол-во попыток.
    turns = 10

print(«Привет, Давай сыграем в виселицу! У тебя есть turns попыток!»)
# Список слов, которые участвуют в игре.
wordList = [«geekflare», «awesome», «python», «magic»]
# Перемешиваем список.
shuffle(wordList)
# Берем последнее слово из списка.
word = wordList.pop()
guesses = » »
# Цикл, который будет работать, пока не останется попыток или не отгаданных букв.
while turns > 0:
wrong = 0

for char in word:
if char in guesses:
print(char, end= » «)
else:
print(«_», end=» «)
wrong += 1

print(«\n»)

if wrong == 0:
print(«Ты выиграл! :)»)

break

print()

guess = «»
if len(guess) < 1:
guess = input(«Впиши букву и нажми enter: «)[0]

if guess in guesses:
print(«Эта буква уже была!»)
guesses += guess

if guess not in word:
turns -= 1

Веб-парсинг

Веб-парсинг (Web Scraping) — это сбор информации в интернете из открытых источников. Парсинг относится к автоматизированным способам получения данных и выполняется по заданным условиям. Он позволяет собирать информацию из поисковой выдачи, а также открытые данные с сайтов и социальных сетей.

Python позволяет анализировать и использовать неструктурированные данные из Сети. Для этого можно использовать специальные Python-библиотеки: Beautiful Soup и Scrapy.

В качестве примера покажем, как узнать значение валюты относительно доллара США в системе Linux. Для этого:

  1. Откройте Терминал с помощью комбинации клавиш Ctrl + Alt + T.
  2. Установите библиотеки для парсинга и запросов:
    pip install beautifulsoup4 requests
  3. Создайте файл с названием currency_scrap.py и добавьте в него следующий код:
    import requests
    from bs4 import BeautifulSoup

URL = «https://www.x-rates.com/table/?from=USD&amount=1»
r = requests. get (URL)

soup = BeautifulSoup (r.content, «html.parser» )
ratelist = soup. findAll ( «table» , < "class" : "ratesTable" >)[ 0 ]. findAll ( «tbody» )

for tableVal in ratelist :
trList = tableVal. findAll ( «tr» )

Data Science и машинное обучение

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

Кроме этого, существуют фреймворки с поддержкой Python для глубокого машинного обучения, например:

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

Как запустить Python приложение на хостинге SpaceWeb

На данный момент на наших серверах виртуального хостинга установлено 4 версии Python. Это Python 2.7, 3.3, 3.4, 3.8. Точные версии можно узнать командами:

$ python2.7 -V
Python 2.7.7

$ python3.3 -V
Python 3.3.5

$ python3.4 -V
Python 3.4.1

$ python3.8 -V
Python 3.8.5*

Запуск скрипта Python через CGI

CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешей программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитаю названия «скрипт»(сценарий) или «CGI-программа».

Для запуска скриптов python через CGI необходимо выполнить следующие действия:

  • Добавить в файл .htaccess директиву:
    AddHandler cgi-script .py
  • Указать первой строкой в скрипте путь к используемому интерпретатору. Так называемый shebang.
    #!/usr/bin/python2.7
    для использования python 2.7.5 или другую версию.
  • Указать расширение для файла *.py и выставить на файл права доступа 755.

Запуск скрипта Python через MOD_WSGI

WSGI (англ. Web Server Gateway Interface) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например, Apache.

Стандарт интерфейса (на английском): http://www.python.org/dev/peps/pep-0333/
По стандарту, WSGI-приложение должно удовлетворять следующим требованиям:

  • должно быть вызываемым (callable) объектом (обычно это функция или метод);
  • принимать два параметра:
    словарь переменных окружения (environ);
    обработчик запроса (start_response);
  • вызывать обработчик запроса с кодом HTTP-ответа и HTTP-заголовками;
  • возвращать итерируемый объект с телом ответа;

Пример простого wsgi-приложения:

def application(environ, start_response):
status = ‘200 OK’
output = b’Hello World!’
response_headers = [(‘Content-type’, ‘text/plain’),

(‘Content-Length’, str(len(output)))]
start_response(status, response_headers)
return [output]

Если приложение будет использовать подключение к базе MySQL, то необходимо для неё сделать удаленный доступ для IP-адреса 127.0.0.1

Что написать на Python новичку, чтобы удостовериться в своих знаниях?

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

P.S. Back-end приветствуется.

  • Вопрос задан более трёх лет назад
  • 27703 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 7
Sergey6661313 @Sergey6661313

checkio.org пробовали? да задачки простые, но там есть функция «посмотреть другие варианты решений». И вот там самый смак.

Ответ написан более трёх лет назад
Нравится 4 1 комментарий

Survtur

Подтверджаю. Такие интересные и красивые решения бывают.
Сергей @red-barbarian

ну кроме стандартных чатов сервер-клиент, можно предложить что рекомендуют в java:
-текстовый квест
-простую sql базу. (реализация простых запросов sql, хранение данных в таблицах)
кроме того
изучить Qt, джанго
попробовать машинное обучение, нейронные сети. сделать например свой определитель иностранного языка. скачать дамп википедии и создать бота который можэет говоить по теме.)
кроме того
рефакторинг своего текста. тупо сидеть и по пять минут выбирать наилучшее наименование для переменной, функции. структуры.
кроме того
посмотреть, посетить митапы питона. узнать что в тренде и к чему лежит душа.
Ну после митапов идей будет много. и желание попробовать.
кроме того
github.
.
можно много придумывать если язык становится не целью а средством.

Проекты на Python для новичков

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

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

Необязательно сразу браться за многопользовательское приложение или свой вариант Instagram (который, кстати, тоже написан на Python). Если новичок начинает делать что-то сложное, есть риск того, что позже его код нужно будет переписывать полностью. Конечно, своему создателю в первое время код может казаться гениальным, ведь эффект Даннинга — Крюгера ещё никто не отменял. Стоит учесть это и не взваливать на себя непосильные задачи, лучше брать то, что требует чуть-чуть больше текущего уровня знаний. Каждому проекту своё время.

Самый первый проект может быть совсем простым. Как вариант — начать с книги «Программируем на Python» Майкла Доусона, где Python изучается посредством создания несложных игр. Уровень программ, описанных в книге, разный — от простых игр наподобие “Крестики-нолики” до более сложных, с графикой и анимацией. Можно взять один из таких примеров в качестве отправной точки проекта и сделать свой вариант.

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

Если вы видите, что вы уже достигли более-менее профессионального уровня, и хотите показать свои навыки в полной красе, то можно задаться таким вопросом: что создают на Python профессиональные программисты? Так как Python является языком программирования общего назначения, то он может быть использован для создания любых программ. Но так сложилось, что прежде всего «питон» востребован в веб-разработке и анализе данных (сюда также можно отнести приложения с искусственным интеллектом и машинным обучением).

Проекты Python в веб-разработке

Посмотрим, что можно написать на Python новичку в каждой области. Если вы хотите продемонстрировать свои навыки веб-разработки, можно начать с самого простого — с блога. Одного знания Python здесь может оказаться недостаточно — нужно также знать основы HTML, CSS и уметь работать с базами данных.

В качестве базы данных в таком проекте можно применить MySQL — эта система управления БД в веб-разработке используется чаще всего, потому что её легко администрировать и диалект языка запросов SQL, который в ней используется, достаточно прост. У блога чаще всего один автор, который обычно является и администратором сайта, так что не нужно будет много времени уделять разделению прав пользователей — достаточно сделать админку с небольшой функциональностью.

ButterCMS — пример CMS для блога, основанной на Python

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

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

Несмотря на то что такой проект будет уступать по возможностям профессиональным движкам интернет-магазинов, подобное «изобретение велосипедов» развивает способность видеть проект в целом. После самостоятельного создания такого крупного проекта на Python вполне можно претендовать на вакансию бэкенд-программиста.

Проекты Python с искусственным интеллектом

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

Интересует применение нейросетей для компьютерного зрения или обработки изображений? Можно начать с приложения, обрабатывающего фотографии в соответствии с выбранным вами стилем. Здесь можно применить генеративно-состязательные нейронные сети (GAN). Пользователь такого приложения может загрузить свою фотографию и выбрать, к примеру, стиль Ван Гога, в соответствии с которым его фотография будет преобразована. Такое приложение может работать довольно медленно, поэтому опционально можно придумать более простой проект на «питоне» — например, определение лица на фотографии и дорисовка элементов. Хотя подобных приложений уже много, создать самому что-либо подобное всё равно будет интересно.

Prisma — приложение для обработки фото с помощью нейросетей — в своё время вызвало огромный ажиотаж и появление множества клонов

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

При создании приложений с искусственным интеллектом ваша задача — создать программу, работающую у вас на компьютере либо в облачном сервисе. Это означает, что вам не нужно делать графический интерфейс приложения, а только её серверную часть. Результаты работы серверной части потом можно передавать посредством API в приложение, написанное для Android или iOS мобильными разработчиками.

Итак, мы рассмотрели, что можно делать на Python, но также важны такие вопросы: как наилучшим образом делать такие проекты и какой инструментарий использовать?

Инструменты для разработки на Python

Создание проекта поможет отточить навыки работы с теми инструментами, которые необходимы профессиональному программисту. Забудьте про Notepad++ и сразу используйте подходящую среду разработки. Для Python это прежде всего PyCharm, причём даже бесплатная версия (PyCharm Community Edition) будет на голову выше любого самого продвинутого блокнота. Особенно это преимущество заметно при использовании ООП, так как простой просмотр кода без возможности поиска и навигации по классам и их методам сильно тормозит работу над проектом.

Вот так выглядит PyCharm, разработанная компанией JetBrains

Помимо этого, PyCharm облегчает работу с системами контроля версий, которые также необходимо использовать. В среде современных программистов стандартом здесь является Git, работать с которым можно, не выходя из PyCharm. Если начинающий программист ленится использовать Git и вместо того, чтобы создать репозиторий проекта, хранит его версии по папкам, то рано или поздно он может запутаться в изменениях, которые вносил в проект, и в один прекрасный момент обнаружит, что его код «сломался».

И последний совет: создав собственные проекты на Python, при устройстве на работу не отправляйте их в архиве по электронной почте. Вряд ли кто-то будет тратить время на разархивирование и просмотр в среде разработки. Более удачный вариант — завести аккаунт на Github и отправлять ссылку на него — это значительно ускорит процесс общения с потенциальным работодателем.

Интересна карьера Python-разработчика? Тогда приглашаем вас на факультет Python-разработки GeekUniversity! Вы сможете освоить все навыки, необходимые специалисту уровня Middle, составите портфолио из четырёх полноценных проектов и потренируетесь в командной разработке.

Пять идей простых проектов на Python для детей

Пять идей простых проектов на Python

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

1. Генератор случайных чисел

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

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

Чтобы написать такой генератор, достаточно знать самые основы программирования: работа с целыми числами, функции случайного выбора и вывода результата. Подобное приложение — оптимальный вариант для ребенка, который учит Python. Он объединяет в себе понятное предназначение и несложный код.

2. Отгадай число

Эта мини-игра продолжает идею предыдущего, добавляя один важный момент — пользователь должен вводить числа. А программе нужно проверить, совпадает ли это число с выпавшим на генераторе случайных чисел, и выдавать соответствующий ответ. В качестве дополнительной возможности можно также предусмотреть подсказки игроку — «правильное число больше/меньше».

Чтобы создать такое приложение, ребенку нужно знать темы из предыдущего пункта, а еще уметь работать с переменными, циклами и условными операторами If/Else. В целом такая программа тоже прекрасно подходит для первых шагов в программировании на Python. К ней можно приступать и без «разминки на кошках».

3. Генератор текстов

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

Принцип очень прост: сначала нужно подготовить шаблон для текста, а затем предложить программе слова, которые она проставит в пробелы. При этом приложение должно такие вопросы, чтобы пользователи гарантированно дали данные в нужной форме. Например, шаблон следующий: «______ пришел в гости и принес в подарок ______. Хозяева посмотрели на него и сказали: «__________»».

Пример запросов на ввод данных в этом случае:

  • «Кто пришел в гости?» — Саша.
  • «Что он принес в подарок?» — Книгу.
  • «Что ему ответили хозяева?» — Большое спасибо.

Результат: «Саша пришел в гости и принес в подарок книгу. Хозяева сказали ему: «Большое спасибо»».

Такое приложение можно делать сколь угодно сложным, добавлять новые шаги и главы, чтобы наполнять историю все новыми подробностями и внезапными поворотами хитрого сюжета. А в процессе ребенок получит полное представление о важных механиках программирования на Python включая работу с разными типами переменных и объединение нескольких строк данных в одну последовательность (конкатенация).

4. Текстовый квест

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

Такая игра описывает пользователю окружающие условия и спрашивает, какие действия он планирует предпринять:

  • Вы оказались в комнате с тремя дверьми. За первый слышится уличный шум, за второй кто-то рычит, за третьей тишина. Куда идем?
  • Дверь №1.
  • Вы вышли на улицу. Через дорогу вы заметили странно одетого человека… и т.д. — фактически до бесконечности.

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

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

5. «Угадай слово» («Виселица»)

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

Такая программа представляет собой самый сложный проект в нашем списке для начинающих разработчиков на Python, так что за эту игру стоит браться, когда с основами программирования уже разобрались. Приложение должно брать слово из некоего списка (то есть работать с базой данных), проверять полученные от пользователя данные, раскрывать угаданные буквы, считать количество ошибок. Можно даже добавить картинку «висельника», как в оригинальной игре, которой многие из нас развлекались в школе — с каждой неудачной догадкой у фигурки должны появляться новые элементы.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *