Забудьте о range(len()). Наш выбор — enumerate()
Часто возникают ситуации, когда нужно перебрать коллекцию и отслеживать индексы элементов, к которым вы получили доступ. Для этих целей многие использует range(len(коллекция)).
Функция enumerate возвращает enumerate-объект, который хранит в себе и индексы элементов, и их значения.
С помощью этой функции вы облегчите доступ и к индексам, и к значениям.
Рассмотрим пример, в котором видна разница между range(len(коллекция)) и enumerate(коллекция).
Часто возникают ситуации, когда нужно перебрать коллекцию и отслеживать индексы элементов, к которым вы получили доступ. Для этих целей многие использует range(len(коллекция)).
Функция enumerate возвращает enumerate-объект, который хранит в себе и индексы элементов, и их значения.
С помощью этой функции вы облегчите доступ и к индексам, и к значениям.
Рассмотрим пример, в котором видна разница между range(len(коллекция)) и enumerate(коллекция).
This media is not supported in your browser
VIEW IN TELEGRAM
☠️ Интернет поломался пока мы спали
Instagram, WhatsApp и Facebook лежали более 6 часов. Сломали Gmail, сбой в Snapchat, начались сбои в онлайн-сервисах Bank of America, второго крупнейшего банка США. Обнаружены проблемы в работе YouTube, Netflix, Spotify, Zoom, Viber и Tinder. Сломался даже сервис по мониторингу сбоев DownDetector.
На одном из хакерских форумов разместили на продажу данные более чем 1.5 миллиарда пользователей Фейсбука. Это самый большой и значительный слив данных в ФБ за всю историю. Из-за сбоев и падения цены акций компании, Марк Цукерберг «обеднел» на 6 миллиардов 600 миллионов долларов. 📉
А тем временем в Telegram зарегистрировалось более 50 млн новых пользователей за последние несколько часов.
#news
Instagram, WhatsApp и Facebook лежали более 6 часов. Сломали Gmail, сбой в Snapchat, начались сбои в онлайн-сервисах Bank of America, второго крупнейшего банка США. Обнаружены проблемы в работе YouTube, Netflix, Spotify, Zoom, Viber и Tinder. Сломался даже сервис по мониторингу сбоев DownDetector.
На одном из хакерских форумов разместили на продажу данные более чем 1.5 миллиарда пользователей Фейсбука. Это самый большой и значительный слив данных в ФБ за всю историю. Из-за сбоев и падения цены акций компании, Марк Цукерберг «обеднел» на 6 миллиардов 600 миллионов долларов. 📉
А тем временем в Telegram зарегистрировалось более 50 млн новых пользователей за последние несколько часов.
#news
Копируем объекты
При присваивании переменной значения другой переменной, как правило, новый объект не создается, а копируется ссылка уже на существующий.
Если использовать функцию
В случае с
#copy
При присваивании переменной значения другой переменной, как правило, новый объект не создается, а копируется ссылка уже на существующий.
Если использовать функцию
copy из стандартной библиотеки, то новый объект будет создан, но его ссылки на другие объекты останутся такими же.В случае с
deepcopy произойдет рекурсивное копирование. Например, при таком копировании списка все его элементы также скопируются как новые объекты.#copy
Что такое PEP8?
Этот вопрос очень часто встречается на собеседовании. Поэтому обязательно стоит ознакомиться.
Оформлять код на Python можно множеством разных способов. Имя переменной может быть и Variable и VARIABLE и variable. А как правильно? Есть ли для этого стандарт?
Да есть и не один. Вы можете ввести свои стандарты оформления кода для ваших проектов на свое усмотрение.
PEP8 - стандарт оформления кода от команды Python. Содержит полное описание форматирования конструкций, имен переменных и общей компоновки кода.
Ссылка на стандарт
Этот вопрос очень часто встречается на собеседовании. Поэтому обязательно стоит ознакомиться.
Оформлять код на Python можно множеством разных способов. Имя переменной может быть и Variable и VARIABLE и variable. А как правильно? Есть ли для этого стандарт?
Да есть и не один. Вы можете ввести свои стандарты оформления кода для ваших проектов на свое усмотрение.
PEP8 - стандарт оформления кода от команды Python. Содержит полное описание форматирования конструкций, имен переменных и общей компоновки кода.
Ссылка на стандарт
Python Enhancement Proposals (PEPs)
PEP 8 – Style Guide for Python Code | peps.python.org
This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python.
Именованные кортежи, как альтернативы классам в Python.
Если нет желания создавать новый класс и предполагаемая структура не слишком сложна и без дополнительных функций, тогда можно использовать именованные кортежи.
Для понимания:
Именованные кортежи определяют имена для каждой позиции в кортеже и позволяют создавать более читаемый и понятный код. Они могут быть использованы в тех же случаях, что и обычные кортежи, а обращаться к полям можно не только по индексу, но и по имени.
Если нет желания создавать новый класс и предполагаемая структура не слишком сложна и без дополнительных функций, тогда можно использовать именованные кортежи.
Для понимания:
Именованные кортежи определяют имена для каждой позиции в кортеже и позволяют создавать более читаемый и понятный код. Они могут быть использованы в тех же случаях, что и обычные кортежи, а обращаться к полям можно не только по индексу, но и по имени.
Как называется эталонная реализация интерпретатора Python?
Anonymous Poll
8%
Cython
4%
IronPython
21%
PyPy
5%
Jython
62%
CPython