Найти тему

Говорим разными цветами. Часть 6

Оглавление
Работа с цветом текста - Python
Работа с цветом текста - Python

Подведу итог, чему вы научились из предыдущих публикаций:

  1. Писать и подключать внешние модули в Python
  2. Использовать переменные и функции
  3. Вводить данные с клавиатуры и обрабатывать их

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

  • Искать в wikipedia
  • Включать музыку
  • Открывать сайты
  • Отправлять письма

Ассистента я назвал Розалия, и искать в Wikipedia она уже умеет.

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

Приобретенные навыки
Приобретенные навыки

Повторение – мать учения

Повторю изученное, но повторю не скучными концепциями и теориями. Волью в Розалию нечто новое. Пусть Розалия приобретет цвет. Верней не сама Розалия, а текст, который она выводит.

Розалия научилась искать в Wikipedia, но текст моего запроса и ответ Розалии одного цвета, что не очень «прикольно». И я это исправлю.

Дело в том, что команда

print («text»)

выводит текст, заключённый в кавычках на экран, но команда print ограничена - цвет текста задать нельзя. Верней я могу задать цвет текста через print, но нужно будет «побаловаться» с ANSI- кодами. Только зачем «баловаться», если до меня уже «побаловались» и родился новый внешний модуль для Python – colorama. Благодаря этому модулю изменю возможности команды print. Но перед использованием этого модуля следует понять кое - что о строках.

Слияние строк

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

query=input(“Rozalia: “+”Чем могу вам помочь?”)

“Rozalia: “ – строка

“Чем могу вам помочь?” – строка

Знак «+» между строками говорит об их слиянии. То есть результат должен быть таким: Rozalia: Чем могу вам помочь? И мигающий курсор ждет ввода с клавиатуры. И то, что я введу, запоминается в переменной query. Сейчас, я проделаю что-то подобное.

Делаю текст цветным

В файле Rozalia. py дополню две строки кода

query=input (Fore.BLUE+“Rozalia: “+”Чем могу вам помочь?”)
print (“Fore.GREEN”+”Rozalia”+search_wiki.search_wikipedia(query))

Не трудно догадаться, что Fore.GREEN – некоторый символ, который не выводится (например, управляющий ANSI-код), но делает цвет основного текста зелёным. Также и Fore.BLUE задает синий цвет. Вы можете задать свои цвета, только обратите внимания на два момента:

  1. GREEN или BLUE записано большими буквами
  2. Слово Fore написано с большой буквы

Т.е. для Python GREEN и green – разные слова. Python чувствительный к регистру. Программа еще не запустится, потому что Python не знает, что такое переменная Fore – она описана в модуле colorama.

Для начала установлю модуль

В командной строке запишу команду

pip install colorama

Затем я подключаю модуль в программе Rozalia. Py.

Добавление модуля colorama
Добавление модуля colorama
import colorama
from colorama import Fore

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

Запуск программы
Запуск программы

Отлично программа работает!

Продолжение следует

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