18+
реклама
18+
Бургер менюБургер меню

Дмитрий Одиссеев – Справочник Python (страница 5)

18

Print(“Внутри!”)

Inner()

Исключения

Try – пытаемся выполнить

Except – ловим ошибку и пишем

Базовая конструкция try-except

Try:

Number = int(input(“Введите число: “))

Except ValueError:

Print(“Это не число!”)

Обработка нескольких ошибок

Try:

F = open(“data.txt”)

Content = f.read()

Except FileNotFoundError:

Print(“Файл не найден”)

Except IOError:

Print(“Ошибка при чтении”)

Обработчик finally

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

Try:

F = open(“data.txt”)

# операции

Except:

Print(“Ошибка”)

Finally:

f.close() # выполняется всегда, даже при ошибке

Создание своих исключений

Raise позволяет вручную вызвать исключение.

Def check_age(age):

If age < 0:

Raise ValueError(“Возраст не может быть отрицательным”)

Check_age(-5) # вызовет ошибку

Отработка по типу ошибки

Try:

X = 1 / 0

Except ZeroDivisionError as e:

Print(f”Ошибка деления: {e}”)

Lambda функции (анонимные)

Это однострочная анонимная функция без имени. Подходит чтобы совершить быстрое действие без присваивании и объявлений в коде переменных

Square = lambda x: x ** 2

Print(square(5)) # 25 # можно так но эффективно будет функцию задать в print без переменной.

Примеры использования

С map

Nums = [1, 2, 3]

Squares = list(map(lambda x: x ** 2, nums))

Print(squares) # [1, 4, 9]

C filter

Nums = [5, 8, 11, 3]

Evens = list(filter(lambda x: x % 2 == 0, nums))

Print(evens) # [8]

Сортировка по условию

Data = [(1, “А”), (3, “B”), (2, “C”)]

Sorted_data = sorted(data, key=lambda item: item[0])

Print(sorted_data) # [(1, ‘А’), (2, ‘C’), (3, ‘B’)]

Если логика функции сложная или огромная, то здесь она не пригодится.

Дополнение к прошлым командам

Списки list

Append()

Добавляет элемент в конец списка

Names.append(“Игорь”)

Extend()

Добавляет несколько элементов сразу

Nums.extend([4, 5])

Insert()

Вставляет элемент по индексу