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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Пакуем JSON

Упаковка JSON файла чуть чуть отличается от упаковки pickle объекта. Перед упаковкой нужно собрать данный в словарь, который мы затем упаковываем в файл.

#theory // just python
Загрузка JSON-файла

Загрузка JSON-файла вообще очень простая. Буквально в пару строчек, одна функция и файл загружен.
JSON используется в Django и многих других библиотеках, знание этого формата очень полезно при работе с структурируемыми данными.

#theory // just python
Функция setattr()

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

#theory // just python
Get Method для словаря

Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать Get method. При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью Get method вы получите “None” .

#theory // just python
Встроенный модуль time

Встроенный модуль time позволяет проводить операции с системным временем, преобразовывать в удобную строку. Также крайне полезной функцией является time.sleep(n), которая останавливает выполнение программы на n секунд.

#modules // just python
Конкатенация списков с использованием append()

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

Результат этого кода — list1 = [1, 2, 3, [4, 5, 6]]. Теперь list2 стал элементом последнего элемента списка list1.

#theory // just python
Всего за 5 минут определите подходящую вам IT-профессию.

Онлайн-школа Skillfactory разработала уникальный профориентационный тест из 16 вопросов. Ответив на них, узнаете наиболее подходящую вам специальность.

Работайте в российских или зарубежных компаниях, в офисе или удаленно. Для айтишников — сниженная ставка по ипотеке, высокая зарплата, комфортные условия и гибкий график.

Переходите по специальной ссылке, чтобы пройти тест, получить карьерный гид по профессии и скидку 45% на обучение.

Реклама. Информация о рекламодателе по ссылкам в посте.
Отличие append() от extend()

Метод extend() также используется для добавления элементов в список, но в отличие от append(), он принимает итерируемый объект (например, другой список) и добавляет его элементы по отдельности.

Таким образом, метод extend() объединяет содержимое двух списков, тогда как метод append() просто добавляет новый элемент в конец списка.

Дело в том, что append() добавляет один элемент, в то время как extend() добавляет все элементы переданного списка поочередно.

#theory // just python
Загонка пользовательского ввода

Сотрудничество map(), input() и list() позволит поместить весь пользовательский текст в список. Это может пригодиться при расчете эмоциональной окраски текста, ведь слова предстоит потом возвращать к исходной форме.

#theory // just python
map() + лямбды

Мы можем комбинировать мэппинг с безымянными функциями, чтобы код стал еще короче.
Возведя все элементы списка ls в квадрат, мы получим такой результат.

#theory // just python
JMESpath – это язык запросов для JSON

Который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.

#modules // just python
Удобная запись словарей и множеств

В данном примере строки использовались в качестве значений словаря, однако, зачастую хочется их использовать в качестве ключей словаря, меня всегда раздражало, что при создании словаря с помощью фигурных скобок, строки нужно указывать в кавычках, хотелось бы их опустить, это возможно, если создавать словарь через конструктор dict(). Кроме того, с помощью фигурных скобок создаются не только словари, но и множества(set).

#theory // just python
Операции над множествами с помощью операторов

Для объединения двух множеств мне почему-то хочется воспользоваться оператором +, наверно, из-за способа конкатенации строк. Однако, python не поддерживает данный оператор для множеств. Но разумеется, это не значит, что нам всегда придётся пользоваться функциями, создатели подошли к данному вопросу более системно и добавили в язык поддержку основных операций над множествами (а не только объединения) и «повесили» их на логические операторы.

#theory // just python
Порядок вставки элементов словарей

Продолжая разговор про словари, начиная с версии 3.7 спецификацией языка гарантируется, что словари сохраняют порядок вставки элементов, OrderedDict больше не нужен. Обратите внимание на строку вывода, она начинается с префикса f — это особый тип строк, введённый в python 3.6.

#theory // just python
Расчет времени выполнения

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

#theory // just python
kwargs в Python

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

#theory // just python
Условные выражения

Работа с логическими операторами и операциями напрямую связана с условными выражениями. Бывают ситуации, когда код программы начинает ветвиться в зависимости от предыдущего результата.
Например, на сайт заходит пользователь: если ему больше 18 лет, то ему показываются все темы, а если меньше – то только некоторые. Для таких случаев используется инструкция «if…elif…else». Она может состоять из 1, 2 или более вариантов ветвления.

#theory // just python
Объединение изменяемого множества с изменением исходной коллекции

Для изменяемого множества (set) кроме операций, описанных в предыдущем разделе, также возможны их аналоги, но уже с изменением исходного множества — эти методы заканчиваются на _update. Результат зависит от того, какое множество каким обновляем.

#theory // just python
Особенности работы с не изменяемой коллекцией

Строка неизменяемая коллекция — если мы ее меняем — мы создаем новый объект!

#theory // just python
Особенности работы с изменяемой коллекцией

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

#theory // just python
Функция sum()

Это можно сделать с помощью стандартной функции sum().
Cинтакс функции sum():
sum(iterable, start)
Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.
Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.

#theory // just python