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
Печать строки 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
Валидируйте входные данные

Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).

#theory // Just Python
Генераторы для экономии памяти

Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).

#theory // Just Python
Сделать список плоским

Ох уж эти списки, состоящие из списков. Как бы их сделать попроще, выстроить в один ряд? Для этого тоже есть решение.
В третьей строке код проверяет, не является ли элемент списком. Если да, то использует метод extend() для расширения этим элементом итогового списка, если нет — то присоединяет его как одиночный элемент методом append().
Также в этой строке функция вызывает сама себя и, в случае списков, состоящих из списков, «проваливается» в них до тех пор, пока не доберётся до элементов, не являющихся списками. Это называется рекурсией.

#theory // Just Python
Четыре метода list в Python

1. append() - добавляет элемент в конец списка.

2. clear() - удаляет все элементы из списка

3. copy() - делает поверхностную копию списка.

4. count() - считает, сколько раз в списке встречается переданный аргумент.

#theory // Just Python
Перечисления

Python3 поддерживает простой механизм работы с перечислениями. Спасибо классу Enum.
Перечисления удобно использовать для хранения списков констант. Иначе константы беспорядочно расположены в коде.
Из документации по Python 3 можно узнать о том, что перечисление — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность. Перечисления можно перебирать (итерировать).
Элементы перечисления хэшируемые. То есть программист может использовать их в словарях и множествах. Вспомним, что хэш позволяет создавать высокопроизводительные структуры. Используйте хэш-функции для сокращения объема данных.

#theory // Just Python