Подведу итог, чему вы научились из предыдущих публикаций:
- Писать и подключать внешние модули в Python
- Использовать переменные и функции
- Вводить данные с клавиатуры и обрабатывать их
Но по мере того, как программа расширяется и приобретает новые способности, трудно уследить изначальные цели. Напомню, я создаю голосового ассистента, который умеет:
- Искать в 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 задает синий цвет. Вы можете задать свои цвета, только обратите внимания на два момента:
- GREEN или BLUE записано большими буквами
- Слово Fore написано с большой буквы
Т.е. для Python GREEN и green – разные слова. Python чувствительный к регистру. Программа еще не запустится, потому что Python не знает, что такое переменная Fore – она описана в модуле colorama.
Для начала установлю модуль
В командной строке запишу команду
pip install colorama
Затем я подключаю модуль в программе Rozalia. Py.
import colorama
from colorama import Fore
Первой строкой я подключаю модуль colorama, а второй строкой из colorama импортирую модуль Fore, в котором и описан алгоритм работы с цветом строки. Вот теперь Розалия знает о том, что нужно делать, если встретит команду Fore.
Отлично программа работает!
Продолжение следует
Вот и все. Повторили пройденное. Пора двигаться дальше и научить Розалию воспроизводить музыку и открывать сайты. Оставайтесь на канале. Будьте крутым Python разработчиком!