Python — универсальный язык программирования. По данным на январь 2023 года, он стал самым популярным согласно рейтингам TIOBE и PYPL.
Что можно написать на Python? Всё, что угодно. В этой статье мы расскажем о том, какие интересные программы можно создавать на Питоне, а также поделимся лайфхаками для работы с этим языком в Терминале.
Python относительно легок в изучении благодаря простому синтаксису и большому числу инструментов и готовых решений: они не требуют дополнительных настроек и установки.
Интересные библиотеки — это “визитная карточка” языка Python. В нем есть функционал для любых задач: распознавание речи, обработка изображений, математические расчеты, поддержка популярных фреймворков — всё необходимое для того, чтобы можно было свободно программировать на Python.
Практическое применение фреймворков с поддержкой Python может быть следующим:
О том, для каких задач подходит Python, расскажем ниже.
Python поддерживает платформы для веб-разработки: например React, где используется связка Django (backend) + JavaScript (frontend). Этот же технологический стэк используется в DropBox.
Кроме этого, Python позволяет настроить доступ к файловой системе Linux со смартфона. Ниже покажем пример такой программы на Python. Выполните следующие действия:
python3 -m http.server
После этого файловая система станет доступна с любого устройства локальной сети.
ip addr | grep inet
В третьей строке вывода вы увидите нужный IP-адрес.123.123.123.123:8000
Python позволяет упростить выполнение ряда задач. Например:
Чтобы автоматизировать эти действия, можно написать скрипт на Python. После этого ваше участие в качестве IT-специалиста не потребуется: после отработки кода все произойдет само собой.
Например, так можно конвертировать файл из формата CSV в JSON:
python -c "import csv,json;print(json.dumps(list(csv.reader(open(“file.csv”)))))"
Python включает в себя библиотеки для разработки компьютерных и мобильных игр. Наиболее популярная из них — Kivy. Она позволяет создавать кроссплатформенные игры, которые поддерживаются популярными операционными системами: Windows, Linux, Mac, Android и iOS.
Кроме этого, вы можете запускать игры в Терминале Linux (например, Виселица). Для этого:
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
print("Упс! Ошибка")
print(f"У тебя осталось {turns} попыток")
if turns == 0:
print("Ты проиграл! :(")
python3 hangout.py
Веб-парсинг (Web Scraping) — это сбор информации в интернете из открытых источников. Парсинг относится к автоматизированным способам получения данных и выполняется по заданным условиям. Он позволяет собирать информацию из поисковой выдачи, а также открытые данные с сайтов и социальных сетей.
Python позволяет анализировать и использовать неструктурированные данные из Сети. Для этого можно использовать специальные Python-библиотеки: Beautiful Soup и Scrapy.
В качестве примера покажем, как узнать значение валюты относительно доллара США в системе Linux. Для этого:
pip install beautifulsoup4 requests
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" )
for trVal in trList[ : 6 ] :
print (trVal.text)
python3 currency_scrap.py
Python помогает анализировать и манипулировать данными, а также подходит для работы со сложными алгоритмами. Для работы с информацией существует несколько библиотек. Самые популярные из них:
Кроме этого, существуют фреймворки с поддержкой Python для глубокого машинного обучения, например:
Варианты, которые мы описали в статье — только малая часть функционала Python. Вы можете воплотить практически любые идеи для программ на Python — этот язык функционален и одновременно компактен.
На данный момент на наших серверах виртуального хостинга установлено 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*
CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешей программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитаю названия «скрипт»(сценарий) или «CGI-программа».
Для запуска скриптов python через CGI необходимо выполнить следующие действия:
AddHandler cgi-script .py
#!/usr/bin/python2.7
WSGI (англ. Web Server Gateway Interface) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например, Apache.
Стандарт интерфейса (на английском): http://www.python.org/dev/peps/pep-0333/
По стандарту, WSGI-приложение должно удовлетворять следующим требованиям:
Пример простого 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
Еще на эту тему: