PYTHON ONLINE
401 subscribers
1 photo
52 links
PYTHON для начинающих
Download Telegram
Channel photo updated
Channel name was changed to «PYTHON ONLINE»
Уроки по нейронным сетям на Python.

Нейронные сети: краткая история триумфа — ТЫК
Структура и принцип работы полносвязных нейронных сетей — ТЫК
Персептрон — возможности классификации образов, задача XORТЫК
Back propagation — алгоритм обучения по методу обратного распространения — ТЫК
Ускорение обучения, начальные веса, стандартизация, подготовка выборки — ТЫК
Переобучение — что это и как этого избежать, критерии останова обучения — ТЫК
Функции активации, критерии качества работы НС — ТЫК
Keras — установка и первое знакомство — ТЫК
Keras — обучение сети распознаванию рукописных цифр — ТЫК
Как нейронная сеть распознает цифры — ТЫК
Несколько вариантов одной функции

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

Установка:
pip install multipledispatch

Навешиваем @dispatch на функцию, куда передаёте тип, с которыми работает именно эта функция.

В зависимости от переданных аргументов будет выбираться правильная функция.
Библиотека Colorama

Библиотека ColoramaТЫК ← помогает добавить цвета в терминал, что позволит вам украсить Python-скрипты.

Colorama будет отображать текст как на переднем плане, так и на заднем в разных цветах в виде основного и фонового цвета.

Если вам нужно, чтобы Colorama работала под Windows, то в начале вызовите colorama.init().
Работаем с символами экранирования

Иногда при выводе строки у вас в терминале появляться символы по типу \n. Такие записи Python расценивает как 1 строку, но вывод можно оформить более красиво.

Примеры символов:

\\
— Обратный слеш (остаётся 1 "\")
\'
— Апостроф (остаётся 1 " ' ")
\"
— Кавычка (остается 1 ")
\n
— Переход на новую строку

Таким образом, новички или не очень опытные кодеры, которые не знали об этих символах, могут столкнуться с трудностями при написании кода. Для отмены экранирования, вам нужно ввести r перед самой строкой.
Превращаем проекты в .exe-файлы!

Невозможно запустить проект на системе, где нет установленного Python или какой-либо библиотеки из него, но воспользовавшись pyinstaller вы сможете создать исполняемый .exe файл из вашей программы.

1. Для установки нужно воспользоваться командой:
install pyinstaller
2. Далее, переходим в командную строку, заходим в нужную директорию с помощью cd и вводим следующую команду:
--onefile --noconsole main.py (main.py — файл, который запускает вашу программу).

После этого исполняемый файл будет находиться в папке dist.
Как получить краткую справку о функции?

Современные редакторы кода способны не только указывать на ошибке в коде, а также помогать их редактировать, но и давать подсказки о некоторых параметрах, при этом, данные справки не всегда бывают до конца исчерпывающими и поэтому, если вам не достаточно информации, то вы сможете воспользоваться одной из двух функций: dir() и help().

Функция help() — выводит краткую текстовую справку о той или иной команде даже при условии, что компьютер не подключён к интернету.

Функция dir() — показывает список всех доступных методов для указанной функции.
Как проверить версию Python?

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

При желании, на основе полученных данных вы можете дополнить код, чтобы он работал и на других версиях программы.
Правильно оформляем свой код!

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

Такие «правила» называют PEP 8. Основные моменты PEP 8 мы перечислим далее, а в целом с ними можно ознакомиться по ссылке → ТЫК

1. Импорты допускается делать только по одному на каждую строку
2. Количество символов в строке не должно быть больше 101
3.
Использовать табы и пробелы можно, но смешивать их в отступах — запрещено. 1 отступ = 4 пробела.
4. Вокруг символов +, -, =, *, /, ** нужно ставить пробелы.
Как написать собственный словарь?

По сути, данный процесс является стандартной задачей по работе с файлами в Python.

Все сводится к тому, что нам нужно переделать англо-латинский словарь в латино-английский.

Всё вводимое берётся из input.txt, а выводимое сбрасывается в output.txt.

В файле input.txt необходимо указать число получившихся слов, а после этого латинские слова в отсортированном порядке.
Как работать со строками в Python?

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

Наиболее популярные их них:

1.
strip(). Позволяет удалить пробелы в начале и конце.
2. center(int, chr="). Центрирует текст. int — нужное количество знаков, а chr — символ, который добавится в начало и конец.
3. lower(). Преобразовывает к нижнему регистру.
4. upper(). Преобразовывает к верхнему регистру.
Создаем калькулятор в одну строчку.

Строка имеет следующий вид: print(eval(input()))

eval(). Необходима для того, чтобы выполнять выражения и функции, при этом возвращая результат.

При этом, eval() не может что-либо присваивать переменным: она только использует их.

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

Зачастую, вывод в одну строку с помощью функции print не подходит под решаемую задачу.

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

Вот список некоторых параметров принимаемых: pprint.pprint:

1. width=80 — ширина экрана печати
2. object — объект форматирования
3. compact=False — компактное форматирование
4. depth=None — уровни вложенности
5. stream=None — форматированный вывод

Также, при необходимости вы сможете переопределить стандартную функцию print на более удобную pprint, написав print = pprint.pprint.
Что такое принцип "KISS"?

По сути, принцип "KISS" имеет следующую расшифровку "Keep It Simple, Stupid", что в переводе звучит как "Придерживайся простоты, идиот".

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

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

Проще говоря, чем проще написан код, тем лучше.
Встроенные функции all и any.

Данные функции позволяют вам узнать, имеются ли определённые значения или же нет.

Таким образом, all возвращает значение True, если все объекты равны True или, по крайней мере, соответствуют заданному условию.

При этом, функция any, в свою очередь, делает то же самое, но возвращает True даже в тех случаях, когда какие-то из объектов не соответствуют условию.

Проще говоря, если даже один из них будет равен True, когда все остальные не равны, то функция any всё-равно вернёт значение True.
Как сортировать словарь по значениям?

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

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

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

Вычисление времени исполнения кода можно осуществить следующим образом: с помощью модуля time запоминаем начальное время, выполняем основной код, узнаём конечное время и просто высчитываем разницу.
Функция zip.

Данная функция позволяет создать итератор, который комбинирует элементы нескольких списков. Что позволяет осуществлять параллельный обход списков в циклах for или, к примеру, выполнять параллельную сортировку.
Библиотека FuzzyWuzzy.

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

Для установки библиотеки прописываем:

install fuzzywuzzy