Python Education
Закритий канал
Обучаем Python как маленьких, так и взрослых Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: telega.in/c/python_educa РКН: clck.ru/3MnbNV
Показати більше8 744
Підписники
-1924 години
-317 днів
-7930 день
Архів дописів
8 742
Очистка списка
С помощью функции filter() подчищаем список удаляя значения False, None, 0, "".
Такой метод очень хорошо себя показывает в объёмных программах при работе с массивами.
8 742
UserList
UserList — это похожий на список контейнерный тип данных, который является классом-оболочкой для списков.
Синтаксис будет следующим: collections.UserList([list]).
Вы передаете обычный список в качестве аргумента userlist. Этот список хранится в атрибуте ‘data’ и доступен через метод UserList.data.
8 742
JMESpath – это язык запросов для JSON
Который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
8 742
Выполнение html-скрипта в ячейке
%% html позволяет нам писать html-код.
Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
8 742
Базы Данных SQL
Осталось несколько важных моментов про sqlite. Например, про обновление данных в таблице и собственно получение.
На языке SQL чтобы обновить таблицу мы используем подобный синтаксис:
table
SET name = new name
WHERE id = 1
Разумеется, обновить мы можем несколько значений за один запрос и искать не по id, а, например, по названию. Для запроса на получение указываем SELECT, когда запрос выполнен методом fetchall() для получения всех результатов.
В SQL есть команда похожая на пайтоновский in - LIKE.
Внимание! Часто при получении данных последний элемент может быть пустым, рекомендуем делать проверку.8 742
Базы Данных SQL
Пришло время рассказать о SQLite и python. Начнем с того, что библиотека уже установлена, чтобы импортировать:
sqlite
Далее надо подключится к БД. Если по указанному пути не существует файла, то он будет создан. Используем метод connect(file name)
Далее создается "курсор" - cursor, который и помогает взаимодействовать с БД.
Метод execute отправляет запросы. С помощью него, к примеру, можно создать таблицу, вставить данные или считать их.
commit - сохраняет изменения.8 742
Базы Данных SQL
Работа с текстовыми удобна в маленьких проектах. Но, когда данных становится в разы больше, встает вопрос о более быстром их получении и записи.
Специально для этого существует язык SQL. Мы будем рассматривать SQLite. Надо понимать, что библиотек работающих на нем, как и программ огромное множество, но синтаксис у всех единый. Достаточно выучить просто SQL и вы сможете спокойно перейти на более мощный PostgreSQL.
Так почему SQLite?
Он прост и компактен. Для обучения и для программ с тысячью записями самое то. Но если данных уже на несколько сотен тысяч рекомендую взять что-то по мощнее. Хотя, многие утверждают, что скорость страдает из-за высокой защиты.
На картинке SQL код, который создает таблицу книг.
#Базы_Данных #SQL
8 742
Генераторы
Простой способ создания итератора.
Самый простой способ создания собственных итераторов в Python — это создание генератора.
В Python есть два способа создания генераторов.
8 742
Многострочные комментарии
Некоторые языки программирования, к примеру С++, предоставляют возможность создания многострочных комментариев. Для создания многострочных комментариях вы спокойно можете использовать тройные кавычки.
8 742
Альтернативный способ создания namedtuple
В качестве альтернативы вы можете передать список, состоящий из имен полей, вместо просто имен полей, разделенных пробелом.
Доступ к элементам в namedtuple возможен как по индексу, так и по идентификатору.
8 742
Проверка прав доступа через декораторы
Распространенным шаблоном при работе с веб-приложениями является проверка есть ли у клиента разрешение на выполнение запрашиваемого действия. Проверки включают получение значения из заголовка HTTP запроса (токен) или из cookie браузера, для идентификации клиента. Затем, когда клиент распознан, используется специальный метод для определения допустимых прав доступа у данного клиента.
Поскольку фактическая проверка разрешений зависит от приложения, здесь будет показан общий пример, в котором просто дает разрешение на выполнение запроса на основе значения из HTTP заголовка.
8 742
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
8 742
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 1 часть
Статические языки программирования заставляют Вас указывать тип каждой переменной, который определяет, сколько места переменная займёт в памяти и что с ней можно сделать. Компьютер использует эту информацию, что-бы скомпилировать программу в очень низкоуровневый машинный язык. Статические языки программирования машины понимают быстрее.
Переменные в этих языках не могут изменять свой тип они статичны. Целое число — это целое число, раз и навсегда.
8 742
Обучение модели
Укажите количество epochs, на которых вы хотите обучить модель. Каждая эпоха будет проходить цикл train, который выводит прогресс каждые 2000 выборок. Затем он проверяет модель на тестовом наборе и выводит точность и потери на тестовом наборе.
8 742
В одну строчку
Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, матрицу из одних нулей. Или постоянно возрастающий список.
Такие методы лучше использовать когда надо сгенерировать что-то маленькое или нужное. Если использовать нужно сейчас и строго по одному, то лучше использовать итераторы. Об итераторах подробнее расскажем чуть позже.
Примеры списочных выражений на картинке. В следующий раз не придется набирать одинаковый текст несколько раз.
8 742
Определение метода тестирования
Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе. Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования. Наконец, мы вычисляем средние потери для набора тестов и общую точность.
8 742
Pyautogui
Очень интересная по своим возможностям библиотека. Она позволяет манипулировать указателем (мышкой) и клавиатурой прямо из кода. Столько всего интересного можно придумать с данной библиотекой.
Можно написать простейший кликер и "фармить" быстрее других игроков. Можно автоматизировать часть своей работы, а некоторые умудрились обмануть начальство имитируя работу на компьютере благодаря данной библиотеке (существуют программы, отслеживающие работает ли человек за ПК)
Мы показываем базовое управление, больше информации ищите в документации
#pyautogui
8 742
Константы модуля cmath
В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
8 742
Проверка наличия подстрок в строке списка
А вот и задача, с которой многим приходится иметь дело ежедневно: проверять, есть ли в строке подстрока. В отличие от других языков программирования, в Python имеется для этого хорошее ключевое слово.
8 742
Как объединить словари в Python с помощью цикла for
Мы можем объединить два или более словарей, используя цикл for
Но проблема данного метода в том, что нам приходится запускать такой цикл для объединения словарей множество раз.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
