Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Продвинутая работа со списками

При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.

В общей форме формирования среза выглядит следующим образом:

list[start:end:step]

Комбинации параметров помогут достичь необходимого результата.

#theory // Just Python
Преобразование чисел в булевый тип данных

В Python при преобразовании чисел к логическим значениям все числа кроме нуля, в том числе и отрицательные - имеют значения True. 0 имеет значение False. Python позволяет проводить логические операции and, or, not над числами.

Функция bool() преобразует объект в логический. Использовать ее можно с числами.

Логические операции с числами работают согласно таблицам истинности операторов.

#theory // Just Python
This media is not supported in your browser
VIEW IN TELEGRAM
В Циндао открыли пивную биржу

Цены меняются в реальном времени на плюс-минус 10 процентов.

🔥 — Требуем IPO в России

😁 — Я, получается, инвестор?

🗿 — С такими колебаниями только трейдить
Пример использования обработки исключений

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

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

try:
уязвимая функция

except:
что делаем если вызвала ошибку


#theory // Just Python
Как работает директива repr

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

По умолчанию оно представляет собой название класса и адрес в памяти.

Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.

#theory // Just Python
Кортежи в Python

Кортеж - неизменяемый список, группа объектов.

Преимущества перед списками:

- Защита от изменений
- Размер меньше
- Скорость работы

Для создания кортежа используется функция tuple(), использование функции с интегрируемым объектом поместит все его элементы в кортеж.

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

#theory // Just Python
Применение аннотации типов

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

У аннотаций следующий варианты синтаксиса:

1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения

#theory // Just Python
Как работает all и any?

Функция all() возвращает True если список пустой или все его элементы истинны.

Функция any() возвращает True если хотя бы один из элементов списка истинный.

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

#theory // Just Python
Маркетинг за 4 дня: бесплатно!

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

Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.

Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 19 мая: https://go.avnxt.site/8b2d902d157e1120?erid=2VfnxxcSezk&m=1
Передаем содержимое словаря

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

Это полезно, при обработке словарей, для написания функций оберток, передающих все полученные значения.

Обе конструкции print в конце примера выполняют одинаковые действия.

#theory // Just Python
Анонимные функции

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

lambda - ключевое слово для объявления анонимной функции.

На примере

1. Обычная функция сложения
2. Анонимная функция, помещенная в переменную
3. Обособленная анонимная функция в операторе print().

#theory // Just Python
Управляем браузером. Библиотека Selenium.

При выполнении данного кода откроется браузер Firefox и перейдет на сайт google.com.

Возможности:

1. Автоматизация работы браузера.
2. Парсинг сайтов.
3. Нажатие на кнопки.
4. Эмуляция различных действий пользователя.
5. Отправка GET/POST запросов.
6. Открытие окон.
7. Поддержка основных браузеров.

Документация, установка.

#theory // Just Python
object

Базовый класс, от которого неявно наследуются все классы в Python.

Один из его полезных методов является __str__, который вернет нам строковое представления объекта.

При его вызове на выходе получим что-то такое: <__main__.MyClass object at 0x00893C28>
Но мы всегда можем переопределить метод и вернуть более понятное описание объекта.

#theory // Just Python
Как можно применять модуль showballstemmer?

Работали
когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу.

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

Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.

В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer

#theory // Just Python
Пример аннотации типов

Аннотация типов дает возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #

При большом количестве кода бывает, что просто забудешь какой тип должна принять / вернуть функция. Для этого и можно воспользоваться этой полезной фичей

А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде

#theory // Just Python
Чтобы начать карьеру в анализе данных, нужно выбрать направление. А для этого — как-то отличить друг от друга аналитиков данных, системных, продуктовых и бизнес-аналитиков, инженеров данных и специалистов по Data Science.

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

Курс будет полезен, если
→ у вас нет опыта, но хочется работать в анализе данных;
→ хотите сменить профессию, но не знаете, с чего начать.

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

Начините путь в анализ данных вместе с Практикумом
Базы Данных

Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.

Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.

Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.

#theory // Just Python
Использование функции sum()

Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?

Это можно сделать с помощью стандартной функции sum().

Cинтакс функции sum():
start)

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

Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.

#theory // Just Python
Методы list в Python

Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.

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

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

3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.

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

#theory // Just Python
Как использовать умное логгирование исключений с exc_info=True

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

Итог
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.

#theory // Just Python