#8 CS50 на русском 2016 — погружение в язык Python

Приветствую Вас, дорогие друзья!
Неделя 8 курса Гарвардского университета по основам программирования CS50 2016 года на русском языке. На Неделе 8 мы выполним полное погружение в язык Python, перенесем все программы с языка C на язык Python. На Неделе 8 мы рассмотрим MVC и узнаем, как создаются динамические веб-сайты с помощью языка Python. Мы создадим свой собственный веб-сервер и вспомним машинное обучение с предыдущей недели.

00:00:00 — Обзор Недели 7
00:02:15 — Переход от C к Python
00:11:40 — Интерпретируемые языки
00:15:26 — Перенос программ на язык Python
00:17:47 — hello.py
00:20:05 — string.py
00:26:20 — int.py
00:27:03 — imprecision.py
00:30:01 — ints.py
00:32:47 — temperature.py
00:34:14 — logical.py
00:38:35 — positive.py
00:48:35 — cough0.py
00:49:35 — cough1.py
00:50:00 — cough2.py
00:51:20 — cough3.py
00:52:30 — cough4.py
00:55:17 — strlen.py
00:57:34 — ascii0.py
00:59:25 — argv0.py
01:01:09 — argv1.py
01:02:33 — argv2.py
01:05:23 — exit.py
01:06:59 — compare1.py
01:10:20 — copy1.py
01:14:20 — noswap
01:15:52 — noswap.py
01:18:06 — swap.py
01:21:24 — structs0.py
01:25:34 — structs1.py
01:29:22 — student.py
01:34:50 — Проверка орфографии
01:35:46 — dictionary.py
01:38:53 — Преимущества языка высокого уровня
01:40:09 — Веб-программирование
01:44:24 — MVC
01:46:14 — serve.py
01:53:51 — Веб Фреймворки
01:54:42 — Flask
02:11:19 — Итоги

Словарь Недели 8

  1. Function — функция
  2. Loop — цикл
  3. Range — диапазон
  4. Variable — переменная
  5. Boolean expression — логическое выражение
  6. Condition — условие
  7. Source code — исходный код
  8. Define — задать
  9. Compiler — компилятор
  10. Bytecode — байт-код
  11. Interpreter — интерпретатор
  12. Tuple — кортеж
  13. Same — одинаковый
  14. Different — разный
  15. Format — формат
  16. Temperature — температура
  17. Something — что-то
  18. Cough — кашель
  19. Achoo — чиханье
  20. MVC (Model–View–Controller) — Модель-Вид-Контроллер
  21. Dorm — общежитие
  22. Cart — корзина
  23. Failure — провал
  24. Success — успех
  25. Student — студент
  26. Read — читать
  27. Write — писать
  28.  Response — ответ
  29. Framework — шаблон, каркас
  30. Register — регистрация
  31. Submit — отправить
  32. Title — заголовок
  33. Body — тело
  34. Quantity — количество
  35. Store — магазин

Перенос программ с языка С на язык Python

На Неделе 8 мы начнем углубленно рассматривать язык Python. Мы начнем с легендарной фразы «Привет, мир!» и рассмотрим способы выражения функций, условий, логических выражений, переменных и циклов, используя язык Python. Особенностью языка Python в отличие от C является то, что язык Python является интерпретируемым языком более высокого уровня, нежели C. Это означает, что нам не нужно каждый раз компилировать код, как мы делали в C с помощью clang. Еще одним преимуществом Python является читабельность кода, что дает возможность буквально писать практически целые предложения. Нам больше не нужно использовать амперсанд «&» для обозначения «И» или использовать вертикальные черточки «||» для обозначения «или». Нам достаточно просто написать «and» или  «or».

язык Python логотип

Еще одна проблема, с которой мы столкнулись в C заключалась в делении двух целых чисел integer друг на друга. В языке C при делении 1 на 10 результатом было ближайшее округленное целое число 0. В языке Python эта проблема решена, более того не нужно никаких объявлений типов данных. То есть Python сам понимает типы данных, то ли это строка, то ли число и т.д. Однако даже с переходом на Python осталась одна проблема, касающаяся точности. Если мы разделим 1 на 10 и посмотрим на 55 знаков после запятой, то увидим точно такой же результат, как и в С.

Больше кода на Python

Помните «\n», который в языке С приходилось каждый раз добавлять для перехода на новую строку? В Python уже по умолчанию курсор переходит на следующую строку и только в случае, если Вам нужно остаться на той же строке Вы пишите end=»». Короче говоря, Вам не нужно заботиться о многих низкоуровневых вещах, которые были в С. Это касается не только компиляции кода, это касается также работы с памятью компьютера, которую Python делает за Вас. Помните когда в C у нас не получалось поменять местами 2 значения или сравнить два значения до тех пор, пока мы не начали использовать указатели pointers. В языке Python указатели pointers отсутствуют, однако сравнение чисел происходит не по их адресам в памяти, а по их значениям.

И нам больше не нужно вникать в то, как вещи реализуются под капотом, нам не нужно беспокоиться об возможных утечках памяти. Мы становимся на плечи других людей, которые столкнулись до нас с определенными проблемами и решили их. Стоит помнить, что есть Python версии 2 и версии 3. Особенностью является то, что они несовместимы. Это значит, что код, написанный в версии 2 не будет работать в версии 3 и наоборот.

Таким образом, на Неделе 8 мы рассмотрим все программы, которые мы написали на протяжении всех предыдущих недель. От простейшей программ «Привет, мир!» до кода программы для записи данных в файл .csv.

Язык Python для создания веб-сайтов

На Неделе 6 мы впервые познакомились с веб-страницами, языком HTML и CSS. Мы создали свою собственную первую веб-страницу, что-то а-ля первый веб-сайт Google для поиска. Сам поиск осуществлялся веб-сервером Google. Как на счет создания собственного веб-сервера? Вот где язык Python становится по-настоящему интересным. Пришло время создавать динамические веб-страницы на языке Python. Как на счет корзины в интернет-магазине, где Вы можете добавить определенное количество товаров и увидеть их в корзине. Мы также познакомимся с MVC.

Мы будем использовать фрэймворки, так называемые шаблоны, которые, как правило находятся в свободном доступе и содержат определенный функционал. Вот, что по-настоящему завораживает. К слову, стоит сказать, что динамические веб-страницы можно создавать и при помощи языка C, но это как раз тот случай, когда программирование становится рутинным и скучным. Именно для того, чтобы не придумывать велосипед каждый раз и существуют фреймворки, предоставляющие функционал, написанный каким-то первопроходцем, столкнувшимся с той или иной проблемой.

Спасибо всем, кто прочел эту статью до этого места. Друзья, Вы уже обладаете довольно существенными знаниями по основам программирования. Пришло время пустить пыль в глаза любимой девушке, другу или несносному боссу. Рекомендую ресурс где любой, написанный Вами набор символов превратиться в программный код. Я думаю Вы сможете ответить на вопрос на каком языке программирования вы пишите программу :).

Приятного просмотра, дорогие друзья!

Поделиться:

Оцените запись:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (12 оценок, среднее: 4,83 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*Комментарий - обязательное поле для ввода
* Имя - обязательное поле для ввода
* Email - обязательное поле для ввода