Похожие презентации:
Алгоритмизация и программирование. Семинар 7
1.
Алгоритмизация ипрограммирование
Семинар 7
2.
Файлы• Почему нужна работа с файлами? (потому что)
• В файлах удобно хранить много информации
• В файлы можно как писать, так и читать из них
• Файл есть файл. Расширение не важно
3.
Открытие файлов• open(file_path, <режим открытия>)
• Пример: open(‘test.txt’, ‘w’)
• Режимы открытия:
• ‘r’ – открыть на чтение
• ‘r+’ – открытие на чтение и запись. Указатель в начале файла
• ‘w’ – открытие на запись. Указатель в начале файла
• ‘w+’ – открытие на чтение и запись. Перезаписывает существующий файл
• ‘a’ – открытие на дозапись. Указатель в конце файла
• ‘a+’ – открытие на добавление и чтение. Указатель в конце файла
4.
Закрытие файла• Зачем нужно?
• Почему важно?
• with – умное открытие файла с автоматическим закрытием
• with open(‘input.txt’, ‘r’) as file_input:
• ….
5.
Чтение из файла• read(n) – чтение n символов из файла. Если n не указано, то весь
файл
• String = file.read()
• readline(n) – чтение строки до достижения символа \n. Если
указан n, то чтение будет делиться на строки размером n байт
• readlines(n) – читается сколько-то строк, которые примерно будут
весить n байт. Если n не указан, то будет считан весь файл
• Readline и readlines сохраняют символ перевода строки!
6.
Красивый способ считать файл• file = open(‘file.txt’, ‘r’)
• for line in file:
• write(line)
7.
rstrip• Str.rstrip(chars)
• Данный метод удаляет символы chars из конца строки
• Если chars не задан, удаляет пробелы.
• Пример:
• 'mississippi'.rstrip('ipz')
• line.rstrip('\n\r')
• Есть аналогичная lstrip
# 'mississ’
8.
Запись в файл• file.write(string)
• file.writelines(list)
9.
Аргументы и распаковка• Аргументы могут быть позиционные и именованные
• Кортеж –> позиционные аргументы, словарь -> именованные
• Распаковка кортежа - *, распаковка словаря - **
• Аналогично для аргументов внутри функции:
• def(*args), def(**kwarfs)
10.
Функции как объектыdef abc(str):
print(str)
func = abc
func(‘hello’)
https://habr.com/ru/companies/otus/articles/725374/
11.
Коллбэк (callback)• Коллбэк — это функция, которая передаётся на вход другой
функции (или другому участку кода), чтобы её запустили в ответ
на какое-то событие. С помощью этого приёма работают чатботы
и интерактивные веб-странички: пользователь нажимает на
кнопку, его действие генерирует событие и на событие реагирует
коллбек (функция-обработчик).
12.
Пример callbackfrom time import time_ns
def timeit(function):
start_time = time_ns()
function()
end_time = time_ns()
return end_time - start_time
timeit(print) # 28278 наносекунд
13.
Лямбды• Лямбда-функции используются тогда, когда нам нужна функция
как объект
• Пример:
double = lambda x: x*2
print(double(5)) # 10
• Синтаксис:
• lambda аргументы: выражение
14.
Примеры использования• Map
current_list = [1, 3, 4, 6, 10, 11, 15, 12, 14]
new_list = list(map(lambda x: x*2 , current_list))
print(new_list) #[2, 6, 8, 12, 20, 22, 30, 24, 28]
15.
Примеры использования• Sorted
current_list = [[10,6,9],[0, 14, 16, 80],[8, 12, 30, 44]]
sorted_list = lambda x: (sorted(i) for i in x)
second_largest = lambda x, func: [y[len(y)-2] for y in func(x)]
result = second_largest(current_list, sorted_list)