🐍 2 простых проекта за час или 3 причины выбрать Python первым языком программирования

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

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

1. Простота и легкий вход

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

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

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

2. Широкая сфера применения

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

3. Большое количество модулей

Зачем изобретать велосипед с треугольными колесами, когда за время существования Python сообщество написало огромное количество модулей?

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

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

Из последнего: недавно я нашел модуль для управления квадрокоптером и прикрутил его к своему проекту.

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

Задачи такого рода нетрудно решать на Python, если пройти курс «Библиотеки программиста» по основам языка и немного ориентироваться в готовых модулях.

Backend (Python + Flask)

Задача
Написать веб-сервер, который будет висеть на localhost и при входе на главную страницу показывать дату и время.

Код проекта:

from flask import Flask
import datetime

app = Flask(__name__)

@app.route("/")
def index():
    x = datetime.datetime.now()
    return str(x)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8080)

Менее десяти строк кода, и у нас на локальном хосте работает такой сервер. Можем добавить немного кода и написать еще один route().

from flask import Flask
import datetime

app = Flask(__name__)

@app.route("/")
def index():
    x = datetime.datetime.now()
    return str(x)

@app.route("/test")
def intestdex():
    return "Hello from Flask :)"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8080)

Теперь, если мы обратимся к localhost:8080/test, наш сервер вернет строку: “Hello from Flask”.

Круто! Дальше все ограничено только вашей фантазией и можно много чего добавить: прикрутить базу данных, сделать авторизацию, работать с шаблонизатором и html.

NLP – Natural Language Processing

Задача
Написать реализацию подсчета наиболее частых слов в тексте. Для примера возьмем произведение А.С Пушкина “Метель”.

Код проекта:

import string
import nltk
import time
from nltk import word_tokenize
from nltk.probability import FreqDist
from nltk.corpus import stopwords
from wordcloud import WordCloud
from pylab import figure, axes, pie, title, show
import matplotlib.pyplot as plt

f = open("pushkin-metel.txt", "r", encoding="utf-8")

# очистка
text = f.read()
text = text.lower()
spec_chars = string.punctuation + "\n\xa0«»\t--..."

def remove_chars_from_text(text, chars):
    return "".join([ch for ch in text if ch not in chars])

text = remove_chars_from_text(text, spec_chars)     #уд. спецсимволов
text = remove_chars_from_text(text, string.digits)  #уд. цифры

# создаем токены
nltk.download("punkt")            #подключаем punkt
text_tokens = word_tokenize(text) #получаем токены

# очистка, стоп слова
nltk.download("stopwords")
russian_stopwords = stopwords.words("russian")
text_tokens = [token.strip() for token in text_tokens if token not in russian_stopwords] #токены списком без стоп слов

text = nltk.Text(text_tokens) # меняем тип для работы с методами nltk
fdist = FreqDist(text)  
      
print(fdist.most_common(5)) # топ 5 по частотности слов

Проект посложнее, но если посидеть с чашечкой кофе, можно разобраться. За 5 секунд наш код проанализировал все произведение “Метель”, посчитал частоту кода и выдал топ-5 наиболее часто встречающихся слов. Файл pushkin-metel.txt можно скачать по ссылке.

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

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

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
11 декабря 2018

ООП на Python: концепции, принципы и примеры реализации

Программирование на Python допускает различные методологии, но в его основе...
admin
28 июня 2018

3 самых важных сферы применения Python: возможности языка

Существует множество областей применения Python, но в некоторых он особенно...
admin
13 февраля 2017

Программирование на Python: от новичка до профессионала

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