Добавить в корзинуПозвонить
Найти в Дзене
Борис

Конспект по начальному курсу Python в Яндекс.Практикум

1. Код на Python. Автор Питона - Ван Россум. Голландия. Первая публикация кода - 1991г. Название « Python » - из телевизионного шоу «Летающий цирк Монти Пайтона». 2. Переменные и типы данных. Операторы присваивания и сложения . Переменная - это любое имя в коде с присвоенным значением этому имени. Например: variable = "переменная" Тип данных это: числа (1; 3; 1.2; 34.76) и строки (символы в одинарных или двойных кавычках - 'hello' ; "Привет!"; "1; 3; 1.2; 34.76"). Применение разных кавычек в начале и конце строки приведёт к ошибке. Числовые значения записываются без кавычек. Оператор присваивания это символ равно: «= », который присваивает переменной какое-нибудь значение: variable = "переменная" Оператор сложения это символ плюс: «+», который числа складывает 1+3+1.2+34.76 = 39.96, а строки объединяет "1"+"3"+"1.2"+"34.76" = 131.234.76. Числа и строки не складываются - их сложение приводит к ошибке. При умножении строки на число строка копируется несколько раз по множите
Решение заданий курса в ссылках конспекта
Решение заданий курса в ссылках конспекта

1. Код на Python.

Автор Питона - Ван Россум. Голландия. Первая публикация кода - 1991г. Название « Python » - из телевизионного шоу «Летающий цирк Монти Пайтона».

2. Переменные и типы данных. Операторы присваивания и сложения .

Переменная - это любое имя в коде с присвоенным значением этому имени. Например: variable = "переменная"

Тип данных это: числа (1; 3; 1.2; 34.76) и строки (символы в одинарных или двойных кавычках - 'hello' ; "Привет!"; "1; 3; 1.2; 34.76").

Применение разных кавычек в начале и конце строки приведёт к ошибке. Числовые значения записываются без кавычек.

Оператор присваивания это символ равно: «= », который присваивает переменной какое-нибудь значение: variable = "переменная"

Оператор сложения это символ плюс: «+», который числа складывает 1+3+1.2+34.76 = 39.96, а строки объединяет "1"+"3"+"1.2"+"34.76" = 131.234.76.

Числа и строки не складываются - их сложение приводит к ошибке.

При умножении строки на число строка копируется несколько раз по множителю: 'хо' * 10 хохохохохохохохохохо

3. Преобразование типов данных выполняется функциями str() и int() .

Функция str(35) преобразует число 35 в строку "35", а функция int("35") преобразует строку "35" в целое число 35. string - строка, integer - целое число.

4. Комментарии и ошибки. Синтаксис и исключения.

Ошибками в Python считаются только синтаксические ошибки (SyntaxError). Все остальные ошибки - это исключения (exceptions). Все что написано в коде после символа решётка « # » это комментарии и они не выполняются.

Ошибка может быть не только в той строке кода на которую указана, но и в предыдущей строке.

5. Именование переменных выполняется только латынью, цифрами и подчеркиванием.

  • Латинские буквы от а до z и от А до Z. В Python есть различия между прописными и строчными буквами алфавита, например: variable, Variable, VARIABLE - разные имена переменных.
  • Цифры от 0 до 9.
  • Символ нижнего подчеркивания: «_»

6. Вывод на экран. Функция print().

print(аргументы) выводит на экран аргументы - строки,числа и значения переменных путем их сложения через плюс «+» или их перечисления через запятую « , ». Эта функция не только выводит на экран, но в ней могут выполняться операции вычисления с переменными и числами. Например:

Рис. 1. Пример кода функции print() c вычислениями.
Рис. 1. Пример кода функции print() c вычислениями.

Разделителем между аргументами функции print () может быть как пробел (по умолчанию): print('Вася','Маня') → Вася Маня , но и любой символ с помощью функции sep(): print("Вася", "Маня", sep="+") → Вася+Маня. А при записи команды без sep(): print("Вася"+ "Маня")→ ВасяМаня , результат уже будет другой, что и называется «конкатенация» - объединение нескольких строк в одну (от лат. concatenatio, «присоединение, сцепление»).

7. Дробные числа. Функции float() , str() , int() .

Тип данных float - предназначен для хранения десятичных дробей. Функция float() преобразует строку в десятичное число: float('38,2') - это уже десятичное число 38,2 из строки '38,2'. Функция str() преобразует целые и дробные числа в строки: str(38,2)- это уже строка '38,2' из десятичного числа 38,2 Функция int() приводит дробные числа к целым, но не округляет числа по правилам арифметики, а просто отбрасывает дробную часть: int(3.14) это 3.

8. Список list[ ]. Функция len().

list = [<элемент1>, <элемент2>, <элемент3>,…, <элементN>]

list — это список упорядоченных последовательности элементов (чисел, строк или других значений). Записывается в квадратных скобках [ ] , элементы списка разделяются запятой: list=[5,2,0,6]. У каждого элемента этого списка есть свой порядковый номер — индекс. У первого элемента(5) списка индекс нулевой, у второго(2) индекс первый, у третьего(0) индекс второй, у последнего(6) индекс третий. Функция len(list) вычисляет количество элементов в списке с именем list, и оно равно 4 для списка list=[5,2,0,6].

У списка могут быть повторяющиеся элементы, которые хранятся и выводятся в упорядоченном виде: print([5,6,0,6]) → [5, 6, 0, 6]
Количество элементов в списке определяется: len([5,6,0,6]) равно 4

9. Объединение строк. Метод .join().

Еще одним способом объединения строк (конкатенации) является метод .join(), который записывается как: объект.имя_метода(аргументы). Это мини-программа объединения строк, которая позволяет получить одну строку из списка строк. Объектом в этом методе является разделитель между строками. Например из списка строк friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор'] должна выводиться одна строка без кавычек : Серёга, Соня, Дима, Алина, Егор. Запись метода.join() для этого случая объединения строк выглядит следующим образом : ', '.join(friends), где разделителем является: ', ' (пробел и запятая). Разделитель в этом методе обязателен.

10. Цикл. Оператор for in. Функции range() и reversed().

Цикл — это повторение набора действий до тех пор, пока истинно какое-то условие в теле цикла. Одно такое повторение называется итерацией цикла. Реализуется оператором for in, который перебирает(for) значения переменной в (in) списке или в диапазоне индексов функции range(). Например: for i in range(a,b) означает перебор значений переменной i в диапазоне индексов от «a» до «b», при этом функция range() возвращает значения от «a» до « b -1». Так функция range(2,11) - это последовательность индексов на основе заданного индекса начала (2) и конца (11), если начальный индекс не указан, он считается равным 0. Например, range (5) выводит значения 0,1,2,3,4 (происходит увеличение на 1 до конечного индекса 5), а range(2,11) выводит числа от «2» до «10» (происходит уменьшение конечного индекса на 1). Функция reversed() обрабатывает список, строки и диапазон чисел в обратном порядке. Например reversed(range(2, 11)) выводит числа от «10» до «2».

Рис. 2. Пример кода  для получения сообщения:  1, 2, 3, 4, 5, вышел зайчик погулять!
Рис. 2. Пример кода для получения сообщения: 1, 2, 3, 4, 5, вышел зайчик погулять!

11. Ветвления. Конструкции if , if else , if elif else .

Ветвления это код с условиями и логическими выражениями (== равно; <меньше; >больше) и которые могут возвращать ответы: истинно, ложно, истинно или ложно. Так выражение с переменной х==5 означает, а правда ли х равно 5? Два ответа(истинно или ложно) в зависимости от того чему равно х : «да, правда» - это истинна True; или «нет, неправда» - это ложь False. Выражение с постоянной 5 < 3 означает, а правда ли 5 меньше 3? Один ответ: False (ложно). Выражение: 100>1 означает, а правда ли 100 больше 1? Один ответ: True (истинно).

Ветвление объявляют оператором if или конструкциями if else и if elif else в которых присутствует логическое выражение.
Например:
if x==5 означает выполнение условия только для одного значения равному 5, а в конструкции: if x==5 else выполнение двух условий, как для 5, так и для всех значения переменной «х» не равной 5. В конструкции: if x==5 elif x==3 elif x==1 else выполняются четыре условия: для каждого из значений равных 5,3,1 и отдельно (else} для всех остальных значений не равных 5,3,1. С конструкцией if elif else код выглядит понятней.

Рмс. 3. Примеры записи ветвлений в одном и том же коде. Конструкция if elif else упрощает запись кода.
Рмс. 3. Примеры записи ветвлений в одном и том же коде. Конструкция if elif else упрощает запись кода.

12. Логические выражения. Операторы и операции. Склонения фраз. Составное логическое выражение.

Рис. 4. Логические операторы используются для сравнения, а логические операции  используются при выборе между двумя условиями.
Рис. 4. Логические операторы используются для сравнения, а логические операции используются при выборе между двумя условиями.

Для склонения фраз и получения правильных окончаний слов применяются ветвления, логические операторы и операции. Пример кода склонения для сообщений от 0 до 99:

Рис. 5. Пример склонения для 100 сообщений.
Рис. 5. Пример склонения для 100 сообщений.

Склонения могут использовать операцию получения остатка от деления, обозначающееся символом процента «%»: 0%10 это 0, 1%10 = это 1, 5%10=5, 10%10=0, 11%10=1, 21%10=1, 25%10=5, 30%10=0 и т.д. В приведенном коде (рис. 5) при склонении 11-ть сообщений, 21,31,41,51,61,71,81,91-одно сообщение остаток одинаковый, а поскольку код выполняется построчно сверху вниз и если переменная подходит для нескольких условий, то срабатывает условие, написанное в коде выше. Поэтому проверка остатка равному 1, ставится в конце кода для исключения ошибки по остатку, равному 1.

Логические операторы можно объединять в составные логические выражения. В таких выражениях операторы выполняются не в порядке записи, а в порядке приоритета: высший приоритет у not, затем выполняется and, а последним — or. Пример такого составного выражения: «if not x > 40 or x < 45 and x != 42:», а порядок выполнения: «not x > 40» → «x < 45 and x != 42» → «not x > 40 or x < 45 and x != 42»

13. Аргументы и функции. Двоеточие, четыре пробела и два апострофа подряд.

Рис. 6. Функция - это блок кода, который можно использовать многократно в разных частях программы. «def» - объявление функции,  «имя» - название функции, «аргументы» это переменные, «:» - двоеточие завершает объявление функции, «4 пробела » - отступ от начала следующей строки после двоеточия, «тело» — код, который выполняет функция. Признак конца тела функции - это код без 4-х пробелов.
Рис. 6. Функция - это блок кода, который можно использовать многократно в разных частях программы. «def» - объявление функции, «имя» - название функции, «аргументы» это переменные, «:» - двоеточие завершает объявление функции, «4 пробела » - отступ от начала следующей строки после двоеточия, «тело» — код, который выполняет функция. Признак конца тела функции - это код без 4-х пробелов.

' ' – два апострофа подряд предусмотрено для случая, если при вызове функции не передается ожидаемый аргумент и тогда ему присваивается значение по умолчанию: «аргумент» =' '. Например функция печати числа друзей и их имён: def print_friends_count(friends_count, name=' '), где «print_friends_count» - имя функции; (friends_count, name=' ') - это два аргумента функции: «friends_count» - количество друзей и «name=' '» - имя друга, но имя его неизвестно. Для случая, когда «name» известно и передается в функцию, объявление функции не изменится, поскольку в ней предусмотрено обработка не пустого аргумента (например для name='Артём').

14. Разбиение на функции. Запросы к функциям.

В крупных проектах все повторяющиеся коды разбиваются на отдельные функции перед телом основной программы. Обращение к таким отдельным функциям называется вызов или запрос функции, которые стоят в теле (после функций и без 4-х пробелов) основной программы.

Рис. 7. Запросы «process_query()»  1-ый, 2-ой, ..., i-ый к функции «def process_query()»
Рис. 7. Запросы «process_query()» 1-ый, 2-ой, ..., i-ый к функции «def process_query()»

Важно: если функция записана, а запроса нет, то результата не будет (пустой результат на экране).

15. Счётчик. Создается переменной, оператором «for in» и операторами присваивания: «=», «+=», «-=»

Рис. 8. «+=»  добавляет правый операнд к левому операнду и присваивает результат левого операнда. «-=»   вычитает правый операнд из левого операнда и присваивает результат левого операнда, «=»   присваивает левый операнд правому операнду.
Рис. 8. «+=» добавляет правый операнд к левому операнду и присваивает результат левого операнда. «-=» вычитает правый операнд из левого операнда и присваивает результат левого операнда, «=» присваивает левый операнд правому операнду.
Рис. 9. Счетчик.  «sum_area» - переменная счётчика, «for area in areas» - оператор for in, «sum_area=sum_area+area» - оператор  присваивания +=
Рис. 9. Счетчик. «sum_area» - переменная счётчика, «for area in areas» - оператор for in, «sum_area=sum_area+area» - оператор присваивания +=

16. Оператор return - выполняет выход из функции и возвращает результат вычисления этой функции.

«Возвращать» значение означает выдать результат вычисления функции. Без return функция ничего не возвращает и выдает сообщение (None).

Рис. 10. Оператор return. Два кода функций вычисления периметра прямоугольника с return  и без return.
Рис. 10. Оператор return. Два кода функций вычисления периметра прямоугольника с return и без return.

Смысл этого оператора в том, чтобы использовать возвращённое значение в дальнейшей работе программы для каких-то вычислений. Например для вызова другой функции из данной функции и применение возвращенного значения в вычислениях другой функции .

17. Словарь dict{ }. Доступ dict['key'] , методы dict.keys() и dict.values() .

Рис. 11. Словарь dict = {'key': 'value'} -  оформляется фигурными скобками. Его заполняют пары, записанные через запятую. Первый элемент - ключ(key), а второй - значение(value), они разделяются между собой двоеточием.
Рис. 11. Словарь dict = {'key': 'value'} - оформляется фигурными скобками. Его заполняют пары, записанные через запятую. Первый элемент - ключ(key), а второй - значение(value), они разделяются между собой двоеточием.
В словаре значения могут повторяться, а ключи нет.

Доступ по ключу dict['key'] в команде print(dict['key']) - выводит значение(value) заданного ключа (key). Метод dict.keys() – дает все ключи (keys) словаря. Метод dict.values() – дает все значения (values) словаря. Метод dict.update(dict1) объединяет два словаря - добавляет элементы dict1 в dict.

Замена значения словаря по ключу или создание нового элемента словаря: dict['key'] = 'value'
Поиск значения в словаре по переменной (variable) равной ключу: dict[variable] = value

18. Перебор элементов словаря. Метод .items(). Создание словаря.

Рис. 12. Перебор ключей словаря и вывод их одной строкой
Рис. 12. Перебор ключей словаря и вывод их одной строкой

Перебор всех элементов словаря можно циклом «for in»: по ключам – for in dict.keys(); по значениям - for in dict.values(); одновременно по ключам и значениям, методом .items – for in dict.items(). Метод.items возвращает набор пар ключ-значение.

Порядок создания словаря из двух списков состоит из создания пустого словаря, перебора значений индекса первого списка и заполнения словаря его элементами: dict= {} for i in range (0, len(list1)) dict[list1[i]] = list2[i].

19. Множество set {}. Функция set().

Рис. 13. Множество оформляется фигурными скобками, а элементы запятыми. Схожесть со словарем только фигурные скобки, а отличие в элементах.
Рис. 13. Множество оформляется фигурными скобками, а элементы запятыми. Схожесть со словарем только фигурные скобки, а отличие в элементах.
Множество не содержит повторяющихся элементов, элементы хранятся в неупорядоченном виде и выводятся в случайном порядке.

Множество объявляется встроенной функцией set(): unique_list = set(list). У множества unique_list после преобразования списка [list] отсутствуют повторяющиеся элементы, в отличии от списка. А после преобразования словаря: keys_dict = set(dict) - полученное множество keys_dict содержит только ключи словаря (значения словаря в множество не переносятся).

20. Коллекции это списки, словари и множества.

Проверка наличия элемента в коллекциях выполняется условной конструкцией <if in>. Оператор <in > у словарей определяет только ключи. Конструкция <if not in> - если в коллекции чего-то нет. Метод .append() добавляет элемент в конец списка и записывается: [список].append(аргумент).

21. Операции с коллекциями.

Создать множество можно вручную, вводя все элементы в фигурные скобки {} и разделяя их запятыми, а также с помощью функции set(), которая преобразовывает строки, списки, словари в множества. Функция list() выполняет обратное преобразование словаря в список.

Рис. 14. Преобразование коллекций в множество и словаря в список. Для словарей преобразование действительны только для ключей, значения будут проигнорированы.
Рис. 14. Преобразование коллекций в множество и словаря в список. Для словарей преобразование действительны только для ключей, значения будут проигнорированы.
Рис. 15. Метод add() добавляет строку или число в множество: mnozhestvo.add("string") или mnozhestvo.add(i), где i - переменная с значением строки или числа. Метод union() объединяет два множества, первому передается второе множество как аргумент: mnozhestvo1.union(mnozhestvo2).
Рис. 15. Метод add() добавляет строку или число в множество: mnozhestvo.add("string") или mnozhestvo.add(i), где i - переменная с значением строки или числа. Метод union() объединяет два множества, первому передается второе множество как аргумент: mnozhestvo1.union(mnozhestvo2).
Рис. 16. Метод.difference() позволяет получить элементы нового множества, которых нет в другом:  mnozhestvo3=mnozhestvo1.difference(mnozhestvo2). Метод .intersection() выполняет поиск пересечения двух множеств: mnozhestvo3=mnozhestvo1.intersection(mnozhestvo2). Пересечение множеств – это множество, в котором находятся только те элементы, которые принадлежат исходным множествам одновременно.
Рис. 16. Метод.difference() позволяет получить элементы нового множества, которых нет в другом: mnozhestvo3=mnozhestvo1.difference(mnozhestvo2). Метод .intersection() выполняет поиск пересечения двух множеств: mnozhestvo3=mnozhestvo1.intersection(mnozhestvo2). Пересечение множеств – это множество, в котором находятся только те элементы, которые принадлежат исходным множествам одновременно.

22. Прототип запроса Python к базе данных.

Работа со словарём, заключается в поиске нужных ключей и
значений, удаления дубликатов и дальнейшего извлечения необходимых данных из словаря. Эта работа похожа на то, что происходит на реальном сервере, куда поступил запрос. Работающей моделью или прототипом запроса Python к базе данных является запрос, названный например
runner() к функции def runner(), на извлечение данных. Извлечение данных заключается в записи print() в теле def runner(). Аргументом print() являются запросы к функциям обработки элементов словаря или базы данных.

Рис. 17.  Схема кода ассистента Анфисы как пример прототипа запроса Python к базе данных(словарь имен друзей и городов).
Рис. 17. Схема кода ассистента Анфисы как пример прототипа запроса Python к базе данных(словарь имен друзей и городов).

23. Строки и форматирование. Методы .split() и .strip()

Рис. 18. print('Ночь= Улица= Фонарь= Аптека'.split("= ")) . Символы аргумента: =пробел
Рис. 18. print('Ночь= Улица= Фонарь= Аптека'.split("= ")) . Символы аргумента: =пробел
Рис. 19. print('=Ночь=Улица=Фонарь=Аптека='.strip("=")). Символ аргумента в данном случае знак равно: =
Рис. 19. print('=Ночь=Улица=Фонарь=Аптека='.strip("=")). Символ аргумента в данном случае знак равно: =
Рис. 20. print(['Ночь', 'Улица', 'Фонарь', 'Аптека'][-4]) → обращение к элементу 'Ночь'.   print(['Ночь', 'Улица', 'Фонарь', 'Аптека'][-2]) → обращение к элементу  'Фонарь'
Рис. 20. print(['Ночь', 'Улица', 'Фонарь', 'Аптека'][-4]) → обращение к элементу 'Ночь'. print(['Ночь', 'Улица', 'Фонарь', 'Аптека'][-2]) → обращение к элементу 'Фонарь'

Метод .join() и метод.split() могут менять символы, например: print("%20".join("как стать бэкенд-разработчиком".split(" "))). В строке "как стать бэкенд-разработчиком" пробел меняется на %20, тогда получится следующая фраза: как%20стать%20бэкенд-разработчиком.

24. Форматированные строки (f-строки)

Рис. 21. Используются для сборки текста. f-строки или f-string могут включать обычный текст и имена переменных. Значения переменных (в фигурных скобках)  подставляются в строку автоматически. В коде f-строки выглядят как обычные, только начинаются с символа f перед кавычками.
Рис. 21. Используются для сборки текста. f-строки или f-string могут включать обычный текст и имена переменных. Значения переменных (в фигурных скобках) подставляются в строку автоматически. В коде f-строки выглядят как обычные, только начинаются с символа f перед кавычками.

25. Запросы к друзьям.

В коде (рис.17) персонального ассистента Анфисы были сведения о том, где живут друзья и три общих вопроса, на которые она могла отвечать. Для расширения возможностей кода Анфисы, в следующем примере (рис.22) добавлены еще четыре вопроса и теперь она может отвечать уже на семь вопросов:

Рис. 22. Схема кода расширенных возможностей персонального ассистента Анфисы.
Рис. 22. Схема кода расширенных возможностей персонального ассистента Анфисы.

26. Библиотека - это набор функций с общей темой.

import <название библиотеки> - команда вызова библиотеки или модуля. Записывается в начале кода программы. Такая запись иначе называется «подключить модуль». Например, import random или с присвоением нового имени: import random as r.

27. Библиотека datetime. Работа со временем.

В библиотеке datetime есть не только отдельные функции, но и новый тип данных - тоже datetime. Например: dt.datetime(1961, 4, 12, 9, 7, 0) это тип данных datetime из библиотеки datetime(или dt): 1961-04-12 09:07:00

28. Стандарт времени UTC.

Рис. 23. Метод utcnow() - возвращает текущий момент времени по UTC с эталонной точностью до микросекунд: dt.datetime.utcnow() - это 2021-03-10 12:21:06.629549. Метод timedelta() - используется для сохранения сдвигов часовых поясов: dt.timedelta(hours=3) - это 3:00:00
Рис. 23. Метод utcnow() - возвращает текущий момент времени по UTC с эталонной точностью до микросекунд: dt.datetime.utcnow() - это 2021-03-10 12:21:06.629549. Метод timedelta() - используется для сохранения сдвигов часовых поясов: dt.timedelta(hours=3) - это 3:00:00

UTC — «coordinated universal time» всемирное координированное время.

29. Форматирование времени. Метод .strftime()

Метод.strftime() - переменная.strftime(аргумент). Используется для вывода необходимого формата времени. Аргументом является следующий формат времени: %H часы, %M — минуты, %B — месяц, %Y — год и %S — секунды, %A — название дня недели по-английски, %U — номер недели в году. Например: dt.datetime(2019, 5, 10, 19, 45).strftime('%H:%M') - это 19:45, где «dt.datetime(2019, 5, 10, 19, 45) » - переменная в этом методе.

30. Протокол HTTP. Адрес в интернете URL .

HTTP (от англ. HyperText Transfer Protocol, «протокол передачи гипертекста»). Отвечает за передачу написанных гипертекстом веб-страниц с сервера на клиент и обратно. Протокол HTTPS - Расширение протокола HTTP. HTTPSecure – от англ. «безопасный HTTP». URL - Uniform Resource Locator – от англ. «единый указатель ресурса». В URL используются только латинские буквы, цифры и отдельные знаки пунктуации. Остальные символы кириллицы и других языков закодированы. Так пробел - это %20, а символ ё - это %D1%91

31. Кириллица в адресной строке. Библиотека urllib.parse

Библиотека urllib.parse используется для кодировки URL . Выполняет расшифровку URL кода в кириллицу или другой язык: decoded = urllib.parse.unquote(encoded_string), где decoded - переменная с расшифрованным значением , encoded_string - переменная с закодированным значением строки в URL.

32. Исходный код веб-страницы - HTML.

HTML - Hyper Text Markup Language (англ. «язык разметки гипертекста»). Обычный текст, написанный на любом из человеческих языков, преобразуется в гипертекст — с устойчивым форматированием и работающими ссылками. Для просмотра HTML текущей веб-страницы (в новой вкладке) зажимаются две клавиши на клавиатуре: Ctrl + U.

33. Headers - Заголовки ответов - Response Headers

Сообщения, отправленные клиентом к серверу, обычно веб-браузером, называются запросами, а сообщения, отправленные сервером, называются ответами. Заголовки ответов отправляются сервером обратно после запроса к нему. Просмотр заголовка ответа на текущей странице: (F12 или через меню браузера) → закладка«Network» → doc → обновить страницу → name → раздел Response headers

34. HTTP-запросы. Заголовки запросов - Request Headers

HTTP-запрос (также называемый HTTP-метод) указывает серверу на то, какое действие надо произвести с ресурсом. Просмотр заголовка запроса на текущей странице: (F12 или через меню браузера) → закладка«Network» → doc → обновить страницу → name → раздел Request Headers.

35. Библиотека requests. Python вместо браузера.

Библиотека requests используется для связи с серверами в интернете. С ее помощью можно написать программу клиента на Python и напрямую без браузера запросить веб-страницу с нужным адресом: requests.get('https://ya.ru/white')

36. Передача параметров в URL. Функция get() .

Функция get(url, params=имя словаря) выполняет формирование адреса интернета посредством подстановки основного URL и дополнительных параметров к URL из словаря в коде.

37. Заголовки HTTP-запросов и ответов в Python.

Чтение заголовков HTTP-запросов и ответов может выполняться как в браузере, так и в коде Python. Получение заголовка и чтение заголовка в Python: headers = response.headers → print(headers["content-type"])

38. Обработка ошибок. Исключение. Конструкция try – except .

runtime error – ошибки, которые не проявляются с первого раза и зависят от внешних факторов: ZeroDivisionError (при делении на ноль), ValueError (при вычислении квадратного корня из отрицательного числа) и т.д.
Исключение (exception) – это объект, который собирается в исключительных случаях при сбое функции. try – except - это конструкция для обработки ошибок в исключительных случаях. Достоинство исключений - обработка ошибки во время выполнения программы без вмешательства пользователя.

39. Финальное расширение возможностей запросов к друзьям.

К расширенным возможностям кода Анфисы (рис.22), в следующем примере (рис.24) добавлены еще семь вопросов и теперь она может окончательно отвечать уже на четырнадцать вопросов:

Рис. 24. Схема кода финальных  возможностей персонального ассистента Анфисы.
Рис. 24. Схема кода финальных возможностей персонального ассистента Анфисы.

К конспекту Django →