Читать книгу «Справочник Python» онлайн полностью📖 — Дмитрий Одиссеев — MyBook.
image

Циклы for

For

Цикл перебора элементов из коллекции

For item in items: print(item)

While

Цикл с условием

While x < 5: x += 1

Break

Прерывает цикл досрочно

For x in range(10): if x == 5: break

Continue

Пропускает текущую итерацию

For x in range(5): if x == 2: continue

Else

Выполняется, если цикл завершился без break

For x in range(3): print(x) else: print(“Готово”)

Условия if, else, iflse

If

Проверяет условие

If x > 5: print(“Больше”)

Elif

Дополнительная проверка

If x == 0: print(“Ноль”) elif x > 0: print(“Положительное”)

Else

Выполняется, если ни одно условие не подошло

If x < 0: print(“Отрицательное”) else: print(“Непонятно”)

Not

Отрицает булево значение

Not True → False

Арифметика

+

Сложение чисел

A + b

Вычитание

A – b

Умножение

A * b

/

Обычное деление

A / b

//

Целочисленное деление

A // b

%

Остаток от деления

A % b

**

Возведение в степень

A ** b

And

Логическое И

True and False → False

Or

Логическое ИЛИ

True or False → True

==

Проверка на равенство

X == y

x=

Проверка на неравенство

X != y

Встроенные функции

Len()

Возвращает длину объекта

Len(“Привет”) → 6

Sum()

Считает сумму элементов

Sum([1, 2, 3]) → 6

Max()

Возвращает максимальное значение

Max([3, 8, 5]) → 8

Min()

Возвращает минимальное значение

Min([3, 8, 5]) → 3

Sorted()

Сортирует список

Sorted([3, 1, 2]) → [1, 2, 3]

Итераторы и генераторы
Итераторы

Iter()

Создаёт итератор из коллекции

It = iter([1, 2, 3])

Next()

Возвращает следующий элемент итератора

Next(it) → 1

For x in iter([10, 20, 30]):

Print(x) # работает как обычный for

Создание собственного итератора

Class Counter:

Def __init__(self, max):

Self.max = max

Self.cur = 0

Def __iter__(self):

Return self

Def __next__(self):

If self.cur < self.max:

Self.cur += 1

Return self.cur

Else:

Raise StopIteration

For n in Counter(3):

Print(n) # 1, 2, 3

Генераторы

Yield

Промежуточный возврат значения из генератора

Def gen():

Yield 1

Yield 2

For x in gen():

Print(x) # 1, 2

Def countdown(n):

While n > 0:

Yield n

N -= 1

For num in countdown(3):

Print(num) # 3, 2, 1

Def even_numbers():

For i in range(10):

If i % 2 == 0:

Yield i

List(even_numbers()) → [0, 2, 4, 6, 8]

Раабота с файлами

Open()

Открывает файл и возвращает файловый объект

F = open(“data.txt”, “r”)

Read()

Читает весь файл как строку

Content = f.read()

Readline()

Читает одну строку из файла

Line = f.readline()

Readlines()

Читает все строки и возвращает список

Lines = f.readlines()

Write()

Записывает строку в файл

f.write(“Привет, мир!”)

writelines()

Записывает список строк

f.writelines([“Первая\n”, “Вторая\n”])

close()

Закрывает файл (обязательно после записи/чтения)

f.close()

Режим открытия файла

“r”

Открытие для чтения (файл должен существовать)

Open(“file.txt”, “r”)

“w”

Открытие для записи (перезапишет существующий файл)

Open(“file.txt”, “w”)

“a”

Открытие для добавления (дописывает в конец файла)

Open(“log.txt”, “a”)

“rb”

Открытие в двоичном режиме для чтения

Open(“image.png”, “rb”)

Безопасное открытие файла

With open(“data.txt”, “r”) as f:

Content = f.read()

With open(“output.txt”, “w”) as f:

f.write(“Сохранено!”)

Автоматически закроет и откроет файл. Даже если такого нету. Не будет никаких ошибок. Рекомендовано использовать только этот менеджер with as.

Конец ознакомительного фрагмента.