Данфа

Python: Функция enumerate()

Давай расскажу о популярной и часто используемой функции Python — enumerate(), которая применяется для итерации списков, кортежей и других последовательностей.

Функция enumerate() в Python: Простота и эффективность


Одним из мощных инструментов Python является встроенная функция enumerate(). Она полезна при работе с коллекциями данных, такими как списки, кортежи или строки, позволяя одновременно получать индекс элемента и сам элемент при переборе коллекции.

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

Синтаксис функции enumerate()


Функция принимает следующий синтаксис:
enumerate(iterable, start=0)

Где:
  • iterable: объект, который поддерживает итерирование (списки, кортежи, строки и др.).
  • start: необязательный аргумент, определяющий начальное значение индекса (по умолчанию равно 0).

Возвращаемое значение — специальный объект перечисления (iterator), который можно преобразовать в список или...

Python: Почему фигурные скобки не нужны

Python выделяется среди многих современных языков программирования отсутствием фигурных скобок ({}) для обозначения блоков кода. Вместо них используется система отступов, основанная на правилах использования пробелов или табуляции.

Как это устроено?


Рассмотрим простую функцию на примере:
def say_hello():
    print("Привет, мир!")
say_hello()

Что тут произошло?
  • Строка def say_hello(): объявляет новую функцию с именем say_hello(). Это начало блока.
  • Далее идёт отступ (чаще всего четыре пробела).
  • Весь код, находящийся под функцией с таким же уровнем отступа, относится к телу функции.
  • Когда отступ возвращается к предыдущему уровню, блок автоматически закрывается.

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

Почему такая система удобна?


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

Python: Функция len()

Функция len() в Python служит для определения длины объектов, представляющих коллекции элементов, такие как списки, кортежи, строки, множества, словари и другие итерации.

Как работает len()?


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

Основные случаи использования:
  • Списки: Возвращает количество элементов в списке.
  • Строки: Возвращает количество символов в строке.
  • Кортежи: Возвращает количество элементов в кортеже.
  • Словари: Возвращает количество ключей в словаре.
  • Множества: Возвращает количество уникальных элементов в множестве.

Примеры использования:
# Длина строки
string_length = len("Привет, мир!")
print(string_length)  # Выведет: 13

# Длина списка
list_length = len([1, 2, 3, 4])
print(list_length)  # Выведет: 4

# Длина словаря
dict_length = len({"a": 1, "b": 2})
print(dict_length)  # Выведет: 2

# Длина кортежа
tuple_length = len((True,
...

Python: Разница между одинарными и двойными кавычками

Разницы между одинарными (') и двойными (") кавычками в Python практически нет — они равнозначны. Однако есть пара нюансов, влияющих на выбор:

Когда использовать разные виды кавычек


1. Строки с вложенными кавычками:
Иногда проще избежать экранирования символов (обратная косая черта \\), если выбрать подходящий вид кавычек.
# Используем двойные кавычки, потому что внутри есть одинарные
message = "Она сказала: 'Привет!'"

# Или наоборот, используем одинарные кавычки
message = 'Он ответил: "Пока!"'

2. Многостроковые строки:
Для многострочных литералов используют тройные кавычки (''' или """). Их можно смешивать, чтобы сделать код удобочитаемым.
text = """Это многострочный
текст."""

another_text = '''Еще один пример
многострочного текста'''

Почему существует два вида кавычек?


Исторически многие языки программирования поддерживают оба типа кавычек для удобства написания и чтения кода. Это позволяет разработчикам выбирать наиболее удобный способ оформления строк в...

Python: Форматирование строки (f-string)

Буква f перед строкой в Python обозначает форматированную строку (f-string). Это способ вставки значений переменных непосредственно внутрь строки.

Пример:
class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        print(f"{self.name} гавкает!")

dog = Dog("Шарик")
dog.bark()

Что произойдет?
При выполнении метода .bark() программа выведет:
Шарик гавкает!

Здесь выражение {self.name} автоматически заменяется значением атрибута name текущего экземпляра класса.

Это удобно и читабельно по сравнению с предыдущими способами форматирования строк (%s, .format()) и стало стандартом начиная с Python 3.6.

Справочник Python...