Продвинутая работа со списками
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
list[start:end:step]
Комбинации параметров помогут достичь необходимого результата.
#theory // Just Python
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
list[start:end:step]
Комбинации параметров помогут достичь необходимого результата.
#theory // Just Python
Преобразование чисел в булевый тип данных
В Python при преобразовании чисел к логическим значениям все числа кроме нуля, в том числе и отрицательные - имеют значения True. 0 имеет значение False. Python позволяет проводить логические операции and, or, not над числами.
Функция bool() преобразует объект в логический. Использовать ее можно с числами.
Логические операции с числами работают согласно таблицам истинности операторов.
#theory // Just Python
В Python при преобразовании чисел к логическим значениям все числа кроме нуля, в том числе и отрицательные - имеют значения True. 0 имеет значение False. Python позволяет проводить логические операции and, or, not над числами.
Функция bool() преобразует объект в логический. Использовать ее можно с числами.
Логические операции с числами работают согласно таблицам истинности операторов.
#theory // Just Python
Forwarded from Супермаркетинг
This media is not supported in your browser
VIEW IN TELEGRAM
В Циндао открыли пивную биржу
Цены меняются в реальном времени на плюс-минус 10 процентов.
🔥 — Требуем IPO в России
😁 — Я, получается, инвестор?
🗿 — С такими колебаниями только трейдить
Цены меняются в реальном времени на плюс-минус 10 процентов.
🔥 — Требуем IPO в России
😁 — Я, получается, инвестор?
🗿 — С такими колебаниями только трейдить
Пример использования обработки исключений
Ошибки могу вызывать полное отключение и сбой в работе скрипта. Важно находить уязвимые части кода и предотвращать поломки.
Конструкция try except позволяет делать исключения для тех функций, которые могу привести к сбою.
try:
уязвимая функция
except:
что делаем если вызвала ошибку
#theory // Just Python
Ошибки могу вызывать полное отключение и сбой в работе скрипта. Важно находить уязвимые части кода и предотвращать поломки.
Конструкция try except позволяет делать исключения для тех функций, которые могу привести к сбою.
try:
уязвимая функция
except:
что делаем если вызвала ошибку
#theory // Just Python
Как работает директива repr
Для установки корректного официального определения класса используется метод repr(), который определяет строковое обозначение класса для программиста.
По умолчанию оно представляет собой название класса и адрес в памяти.
Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.
#theory // Just Python
Для установки корректного официального определения класса используется метод repr(), который определяет строковое обозначение класса для программиста.
По умолчанию оно представляет собой название класса и адрес в памяти.
Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.
#theory // Just Python
Кортежи в Python
Кортеж - неизменяемый список, группа объектов.
Преимущества перед списками:
- Защита от изменений
- Размер меньше
- Скорость работы
Для создания кортежа используется функция tuple(), использование функции с интегрируемым объектом поместит все его элементы в кортеж.
Кортежи очень полезны, когда нужно передать группу элементов и не нагружать скрипт.
#theory // Just Python
Кортеж - неизменяемый список, группа объектов.
Преимущества перед списками:
- Защита от изменений
- Размер меньше
- Скорость работы
Для создания кортежа используется функция tuple(), использование функции с интегрируемым объектом поместит все его элементы в кортеж.
Кортежи очень полезны, когда нужно передать группу элементов и не нагружать скрипт.
#theory // Just Python
Применение аннотации типов
Python - язык с динамической типизацией. Это может быть как преимуществом так и недостатком. Для четкого определения типа переменных существуют аннотации, которые позволят явно указать тип данных объекта или тип данных возвращаемых функцией.
У аннотаций следующий варианты синтаксиса:
1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения
#theory // Just Python
Python - язык с динамической типизацией. Это может быть как преимуществом так и недостатком. Для четкого определения типа переменных существуют аннотации, которые позволят явно указать тип данных объекта или тип данных возвращаемых функцией.
У аннотаций следующий варианты синтаксиса:
1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения
#theory // Just Python
Как работает all и any?
Функция all() возвращает True если список пустой или все его элементы истинны.
Функция any() возвращает True если хотя бы один из элементов списка истинный.
Функционал довольно простой и примитивный, но в скольких ситуациях может облегчить жизнь! В купе с for и другими конструкциями очень помогает сократить некоторые громоздкие функции, а также быстро проверить список на различные параметры.
#theory // Just Python
Функция 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
Зарплата начинающего маркетолога от 70 000₽, а стоимость обучения на профессию в онлайн-школах основам от 120 000 до 250 000 рублей.
Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.
Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 19 мая: https://go.avnxt.site/8b2d902d157e1120?erid=2VfnxxcSezk&m=1
Передаем содержимое словаря
Две звездочки перед объектом словаря позволяют передать содержимое словаря как аргументы. Где ключи словаря - имя аргумента, а значения передаются в функцию.
Это полезно, при обработке словарей, для написания функций оберток, передающих все полученные значения.
Обе конструкции print в конце примера выполняют одинаковые действия.
#theory // Just Python
Две звездочки перед объектом словаря позволяют передать содержимое словаря как аргументы. Где ключи словаря - имя аргумента, а значения передаются в функцию.
Это полезно, при обработке словарей, для написания функций оберток, передающих все полученные значения.
Обе конструкции print в конце примера выполняют одинаковые действия.
#theory // Just Python
Анонимные функции
Короткая запись простой функции, необходимая для решения одной конкретной задачи удобная вещь. Дабы не нагромождать код кучей функцией, использующихся один раз удобнее использовать анонимные функции.
lambda - ключевое слово для объявления анонимной функции.
На примере
1. Обычная функция сложения
2. Анонимная функция, помещенная в переменную
3. Обособленная анонимная функция в операторе 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
При выполнении данного кода откроется браузер Firefox и перейдет на сайт google.com.
Возможности:
1. Автоматизация работы браузера.
2. Парсинг сайтов.
3. Нажатие на кнопки.
4. Эмуляция различных действий пользователя.
5. Отправка GET/POST запросов.
6. Открытие окон.
7. Поддержка основных браузеров.
Документация, установка.
#theory // Just Python
object
Базовый класс, от которого неявно наследуются все классы в Python.
Один из его полезных методов является
При его вызове на выходе получим что-то такое:
#theory // Just Python
Базовый класс, от которого неявно наследуются все классы в Python.
Один из его полезных методов является
__str__
, который вернет нам строковое представления объекта.При его вызове на выходе получим что-то такое:
<__main__.MyClass object at 0x00893C28>
Но мы всегда можем переопределить метод и вернуть более понятное описание объекта.#theory // Just Python
Как можно применять модуль showballstemmer?
Работали когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу.
Некоторые используют pymorph2 (первая слишком много потребляет ресурсов), но ведь достаточно определять основу слова, а не начальную форму для нахождения большинства результатов.
Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.
В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer
#theory // Just Python
Работали когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу.
Некоторые используют pymorph2 (первая слишком много потребляет ресурсов), но ведь достаточно определять основу слова, а не начальную форму для нахождения большинства результатов.
Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.
В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer
#theory // Just Python
Пример аннотации типов
Аннотация типов дает возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #
При большом количестве кода бывает, что просто забудешь какой тип должна принять / вернуть функция. Для этого и можно воспользоваться этой полезной фичей
А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде
#theory // Just Python
Аннотация типов дает возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #
При большом количестве кода бывает, что просто забудешь какой тип должна принять / вернуть функция. Для этого и можно воспользоваться этой полезной фичей
А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде
#theory // Just Python
Чтобы начать карьеру в анализе данных, нужно выбрать направление. А для этого — как-то отличить друг от друга аналитиков данных, системных, продуктовых и бизнес-аналитиков, инженеров данных и специалистов по Data Science.
Яндекс Практикум запускает бесплатный курс, который поможет это сделать. Расскажем, чем занимаются разные аналитики, сколько они зарабатывают и как стать одним или одной из них.
Курс будет полезен, если
→ у вас нет опыта, но хочется работать в анализе данных;
→ хотите сменить профессию, но не знаете, с чего начать.
После курса можно будет пройти бесплатную вводную часть о профессии, которая понравилась. Там вы решите первые практические задачи настоящих аналитиков.
Начините путь в анализ данных вместе с Практикумом
Яндекс Практикум запускает бесплатный курс, который поможет это сделать. Расскажем, чем занимаются разные аналитики, сколько они зарабатывают и как стать одним или одной из них.
Курс будет полезен, если
→ у вас нет опыта, но хочется работать в анализе данных;
→ хотите сменить профессию, но не знаете, с чего начать.
После курса можно будет пройти бесплатную вводную часть о профессии, которая понравилась. Там вы решите первые практические задачи настоящих аналитиков.
Начините путь в анализ данных вместе с Практикумом
Базы Данных
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
#theory // Just Python
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
#theory // Just Python
Использование функции sum()
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции sum().
Cинтакс функции sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.
Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.
#theory // Just Python
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции 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
Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.
1. append() - добавляет элемент в конец списка.
2. clear() - удаляет все элементы из списка
3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.
4. count() - считает, сколько раз в списке встречается переданный аргумент.
#theory // Just Python
Как использовать умное логгирование исключений с exc_info=True
Когда ловишь исключение и хочешь залоггировать стек, многие забывают важный параметр.
Итог
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.
#theory // Just Python
Когда ловишь исключение и хочешь залоггировать стек, многие забывают важный параметр.
Итог
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.
#theory // Just Python