Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints.

#theory // just python
Анонимные функции

Иногда именованию функции не стоит уделять особого внимания. Например, если вы уверены, что она будет использована только раз. Для таких случаев Python предлагает применять анонимные функции, также называемые лямбда-функциями.

#theory // just python
🧸 Фигурка Нatsune Мiku

Взято из: AliExpress Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
Вложенный генератор внутри генератора — двумерная из двумерной

Общий синтаксис:
[[expression for y in x] for x in iterator]

Применение: Обходим двумерную структуру данных, сохраняя результат в другую двумерную структуру.

#theory // just python
Отрицательный индекс

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

#theory // just python
Печать строки N раз

Этот пример может печатать любую строку n раз без использования циклов Python.

#theory // just python
Важные методы в Python.

abs() - возвращает модуль переданного параметра.

all() - функция возвращает значение True, если все элементы в итерируемом объекте - истинны. В противном случае, она возвращает значение False.

any() - функция возвращает True, если какой-либо (любой) элемент в итерируемом объекте является истинным True. В противном случае, any() возвращает значение False.

ascii() - возвращает строку, содержащую печатное представление объекта, и экранирует символы, отличные от ASCII, в строке с помощью экранирования \ x, \ u или \ U.

bin() - функция преобразует целое число в двоичную строку с префиксом 0b.

#theory // just python
Полезные методы в Python.

bool() - возвращает False, если значение объекта 0, в противном случае возвращает True.

eval() - это встроенная функция, используемая в Python. Функция eval анализирует аргумент выражения и оценивает его как выражение python. Проще говоря, функция eval оценивает «String» как выражение Python и возвращает результат.

exec() - встроенная функция похожая на eval, но она полностью выполняет код находящийся внутри. Ее использование может быть не безопасно. К примеру при запуске неизвестного кода. Старайтесь учитывать этот момент.

hash() - возвращает целое являющееся хешем объекта. Хеш используется, в частности, для быстрого сравнения ключей при поиске по словарям.

help() - функция предназначена для вывода документации.

#theory // just python
Станьте Графическим дизайнером за 0₽ со Skypro

Зарплата начинающего специалиста в дизайне от 90 000₽, а стоимость обучения на профессию в онлайн-школах от 140 000 до 300 000 рублей.

Прямо сейчас Skypro отдают бесплатно курс по графическому дизайну стоимостью ~ 170 000р, в том числе и курсы по IT.

Переходите по ссылке и забирайте курс по дизайну. Акция продлится до 13 марта: https://go.2038.pro/c688b9f699876380?erid=LdtCKBHZy&m=1
Базы Данных SQL

Пришло время рассказать о SQLite и python. Начнем с того, что библиотека уже установлена, чтобы импортировать:
import sqlite3
Далее надо подключится к БД. Если по указанному пути не существует файла, то он будет создан. Используем метод connect(file_name)
Далее создается "курсор" - cursor, который и помогает взаимодействовать с БД.
Метод execute отправляет запросы. С помощью него, к примеру, можно создать таблицу, вставить данные или считать их.

commit - сохраняет изменения.

#theory // just python
Обновление данных в таблице SQL

На языке SQL чтобы обновить таблицу мы используем подобный синтаксис:
 table 
SET name = 'new name'
WHERE id = 1
Разумеется, обновить можно несколько значений за один запрос и искать не по id, а, например, по названию. Для запроса на получение указываем SELECT, когда запрос выполнен методом fetchall() для получения всех результатов.
В SQL есть команда похожая на пайтоновский in - LIKE.
Внимание! Часто при получении данных последний элемент может быть пустым, рекомендуем делать проверку.

#theory // just python
Строки тоже итерируются

map() использует «дочернюю» функцию на любом объекте, где применим цикл for. Мы можем применять ее к любому итерируемому объекту, даже к strings.
Преобразуем все буквы в заглавные.

#theory // just python
Используйте метод “Enumerate” Для элегантного перебора списков

В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении. Можно написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз. Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.

#theory // just python
«Сырые» строки и строковые литералы

Оперировать строками в Python – одно удовольствие, так как язык предоставляет для них множество удобных методов. Также имеется поддержка «сырых» строк и строковых литералов.
Чтобы строка стала «сырой», перед ней необходимо поставить символ r в любом регистре.

#theory // just python
Скрипт сжатия списка

Этот скрипт удаляет «ложные» значения (False, None, 0 и пустую строку ' ') из списка. Используется встроенная функция filter(): c параметром None на первом месте она удалит из списка lst все значения, которые не вернут True по умолчанию.

#theory // Just Python
Используйте виртуальное окружение

Виртуальное окружение (virtual environment) — надстройка, которая обеспечивает две вещи.

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

Контроль версий. Виртуальное окружение позволит зафиксировать разновидность используемых библиотек с помощью requirements.txt или другого файла конфигурации. Код, скопированный из многолетнего треда на StackOverflow, часто выдает ошибку именно из-за этого. Если вы работаете с несколькими проектами, требующими разных версий одной и той же библиотеки, virtualenv поможет их «развести по углам».

#theory // Just Python
Половина строк в тройных кавычках

Python поддерживает неявную конкатенацию строковых литералов.

''' и """ также являются разделителями строк в Python, которые вызывают ошибку SyntaxError, потому что интерпретатор Python ожидал, что в качестве разделителя будет заключена тройная кавычка при сканировании текущего строкового литерала в тройных кавычках.

#theory // Just Python
Управляйте сессиями

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

#theory // Just Python
Объединение словарей

Начиная с Python 3.5, стало проще объединять словари.
Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.

#theory // Just Python
Обратный список и строка

Скорее всего, вы используете обратную функцию для инверсионной записи списков или строк. Но знаете ли вы, как осуществить инверсию более эффективным способом?

#theory // Just Python