Бесплатный курс python: Бесплатный курс Python (питон), самостоятельное обучение

Бесплатный курс Python (питон), самостоятельное обучение

Основы языка Python

  • 1. Привет, Мир!
  • 2. Комментарии
  • 3. Инструкции (Statements)
  • 4. Как мы проверяем ваши решения
  • 5. Синтаксические ошибки

Python (или, как его еще называют, «питон») – популярный и перспективный язык. Его часто выбирают в качестве первого для знакомства с программированием.
Изучать Python мы будем с нуля, с самых азов. Первый модуль – плацдарм  для написания осмысленных программ. В нем мы разберем, как дать команду компьютеру на языке Python. Расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений на сайте рассмотрим, что такое тестирование и как читать вывод тестов. Объясним, почему нельзя нарушать грамматические правила языка программирования.

Арифметика в Python

  • 6. Арифметические операции
  • 7. Операторы
  • 8. Коммутативная операция
  • 9. Композиция операций
  • 10. Приоритет
  • 11. Числа с плавающей точкой
  • 12. Линтер

Современные программы создаются для обслуживания бизнесов, помощи в ежедневной жизни и развлечений. Но в основе их работы по-прежнему лежат вычисления. Наиболее простая и базовая тема в программировании — арифметика. В этом модуле мы переведем арифметические действия на язык программирования, освоим базовую терминологию – например, чем оператор отличается от операнды. Поговорим о приоритете операций. А под конец расскажем, что такое линтер и почему он может «ругаться».

Строки

  • 13. Кавычки
  • 14. Экранированные последовательности
  • 15. Конкатенация
  • 16. Кодировка

Текст в программировании называется «строками», и эта тема не так проста, как может показаться. Как вывести фразу, в которой есть и одинарные, и двойные кавычки? Что такое экранированная последовательность? Модуль посвящен разным аспектам написания текста – мы поэкспериментируем с выводом разных строк и поговорим о кодировке.

Переменные

  • 17. Что такое переменная
  • 18. Изменение переменной
  • 19. Выбор имени переменной
  • 20. Ошибки при работе с переменными
  • 21. Выражения в определениях
  • 22. Переменные и конкатенация
  • 23. Именование переменных
  • 24. Магические числа
  • 25. Константы

Информацию можно помещать в специальные «хранилища», а потом использовать сколько угодно раз. Эти хранилища называются переменными, и они помогают упростить код и сократить лишние повторения.

Глубже про строки

  • 26. Интерполяция
  • 27. Извлечение символов из строки
  • 28. Срезы строк
  • 29. Multi-line строки

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

Типы данных

  • 30. Типы данных
  • 31. Сильная (или Строгая) типизация
  • 32. Неизменяемость примитивных типов
  • 33. Явное преобразование типов

Python – язык с сильной типизацией и неизменяемыми примитивными типами данных. Что произойдет, если мы попробуем умножить число на строку? Каким образом Python понимает, что за тип данных перед ним? Что такое преобразование типов? Ответы на эти вопросы вы найдете в текущем модуле.

Вызов функций

  • 34. Функции и их вызов
  • 35. Сигнатура функции
  • 36. Аргументы по умолчанию
  • 37. Вызов функции — выражение
  • 38. Функции с переменным числом параметров
  • 39. Детерминированность
  • 40. Стандартная библиотека

Для выражения любой произвольной операции в программировании существует понятие «функция». Функции — кирпичики, из которых программисты строят системы. В этом модуле мы научимся пользоваться уже созданными функциями. Посмотрим на сигнатуру функции в документации и разберемся, как её использовать. Познакомимся со стандартными библиотеками, которые хранят тысячи функций. Все функции невозможно выучить, но каждый программист должен знать, где искать документацию по ним.

Свойства и методы

  • 41. Объекты
  • 42. Неизменяемость
  • 43. Методы как выражения
  • 44. Цепочка вызовов

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

Определение функций

  • 45. Создание (определение) функций
  • 46. Возврат значений
  • 47. Параметры функций
  • 48. Необязательные параметры функций
  • 49. Именованные аргументы

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

Логика

  • 50. Логический тип
  • 51. Предикаты
  • 52. Комбинирование операций и функций
  • 53. Логические операторы
  • 54. Отрицание
  • 55. Результат логических выражений

Логические выражения позволяют отвечать на вопросы, которые возникают во время работы программы. Пользователь аутентифицирован? Подписка оплачена? Год високосный? В этом модуле изучаем функции-предикаты – те, которые задают вопрос и отвечают на него – правда это или ложь. Попрактикуемся в написании таких функций и перейдем к более сложным логическим выражениям.

Условные конструкции

  • 56. Условная конструкция (if)
  • 57. else
  • 58. Конструкция else + if = elif
  • 59. Тернарный оператор

Задача функции-предиката — получить ответ на вопрос, но обычно этого недостаточно и нужно выполнить определенное действие в зависимости от ответа. If и if-else  – конструкции Python, с помощью которых программист может выбирать необходимое поведение программы в зависимости от разных условий: пропускать одни инструкции и выполнять другие. Их и разберем на практике в этом модуле.

  • 60. Цикл While
  • 61. Агрегация данных (Числа)
  • 62. Агрегация данных (Строки)
  • 63. Обход строк
  • 64. Условия внутри тела цикла
  • 65. Формирование строк в циклах
  • 66. Пограничные случаи
  • 67. Синтаксический сахар
  • 68. Возврат из циклов
  • 69. Цикл For

Любой код может повторяться десятки, тысячи, миллионы раз. В комбинации с другими известными нам инструментами — переменными и условиями — это открывает множество возможностей по построению программ и сложных систем. Приведем простой пример. Вам нужно найти конкретную фразу в учебнике из 500 страниц. Фразу вы помните, а вот номер страницы нет. Самый простой (и долгий) способ — последовательно просматривать страницы до тех пор, пока не найдете нужную. Для выполнения таких повторяющихся действий и нужны циклы.

Готовы попробовать?

Регистрация не требуется

Демо урок

Экранированные последовательности | Python

Мы хотим показать вот такой диалог:

- Are you hungry?
- Aaaarrrgh!

Попробуем вывести на экран строку с таким текстом:

print("- Are you hungry?- Aaaarrrgh!")
# => - Are you hungry?- Aaaarrrgh!

Как видите, результат получился не такой, как мы хотели. Строки расположились друг за другом, а не одна ниже другой. Нам нужно как-то сказать интерпретатору «нажать на Enter» — сделать перевод строки после вопросительного знака. Это можно сделать с помощью символа \n:

print("- Are you hungry?\n- Aaaarrrgh!")
# => - Are you hungry?
# => - Aaaarrrgh!

\n — это пример экранированной последовательности (escape sequence). Такие последовательности еще называют управляющими конструкциями. Их нельзя увидеть в том же виде, в котором их набрали.

Набирая текст в Word, вы нажимаете на Enter в конце строчки. Редактор при этом ставит в конец строчки специальный невидимый символ, который называется LINE FEED (LF, перевод строчки). В некоторых редакторах можно даже включить отображение невидимых символов. Тогда текст будет выглядеть примерно так:

- Привет!¶
- О, привет!¶
- Как дела?

Устройство, которое выводит соответствующий текст, учитывает этот символ. Например, принтер при встрече с LF протаскивает бумагу вверх на одну строку, а текстовый редактор переносит весь последующий текст ниже, также на одну строку.

Существует несколько десятков таких невидимых символов, но в программировании часто встречаются всего несколько. Кроме перевода строки, к таким символам относятся:

  • табуляция \t — разрыв, который получается при нажатии на кнопку Tab
  • возврат каретки \r — работает только в Windows

Распознать такую управляющую конструкцию в тексте можно по символу \. Программисты часто используют перевод строки \n, чтобы правильно форматировать текст. Например, напишем такой код:

print("Gregor Clegane\nDunsen\nPolliver\nChiswyck")

Тогда на экран выведется:

Gregor Clegane
Dunsen
Polliver
Chiswyck

Когда работаете с символом перевода, учитывайте следующие моменты:

  1. Не важно, что стоит перед или после \n: символ или пустая строка. Перевод обнаружится и выполнится в любом случае

  2. Строка может содержать только \n:

  print('Gregor Clegane') # Строка с текстом
  print("\n") # Строка с невидимым символом перевода строки
  print('Dunsen') # Строка с текстом

Программа выведет на экран:

  Gregor Clegane
  Dunsen
  1. В коде последовательность \n выглядит как два символа, но с точки зрения интерпретатора — это один специальный символ

  2. Если нужно вывести \n как текст (два отдельных печатных символа), то можно воспользоваться экранированием — добавить еще один \ в начале. Последовательность \\n отобразится как символы \ и n, которые идут друг за другом:

print("Joffrey loves using \\n")
# => Joffrey loves using \n

В Windows для перевода строк по умолчанию используется \r\n. Такая комбинация хорошо работает только в Windows, но создает проблемы при переносе в другие системы. Например, когда в команде разработчиков есть пользователи Linux.

Дело в том, что последовательность \r\n имеет разную трактовку в зависимости от выбранной кодировки, о чем мы поговорим позже. По этой причине в среде разработчиков принято всегда использовать \n без \r.

В таком случае перевод строки всегда трактуется одинаково и отлично работает в любой системе. Не забудьте настроить ваш редактор на использование \n.

Задание

Напишите программу, которая выводит на экран:

- Did Joffrey agree?
- He did. He also said "I love using \n". 

При этом программа использует только один print(), но результат на экране должен выглядеть в точности, как показано выше.

Упражнение не проходит проверку — что делать? 😶

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

  • Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.

В моей среде код работает, а здесь нет 🤨

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя 🤔

Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

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

Прочитал урок — ничего не понятно 🙄

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

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Полезное

Определения

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

Учебное пособие по Python: изучайте Python бесплатно

Перейти к содержимомуМини-значок со стрелкой вниз

Зачем изучать Python?

Python — универсальный, универсальный и популярный язык программирования. Он великолепен в качестве первого языка, потому что он лаконичен и легко читается, а также это хороший язык для любого программиста, поскольку его можно использовать для всего, от веб-разработки до разработки программного обеспечения и научных приложений.

Навыки на вынос:

Этот курс представляет собой отличное введение как в фундаментальные концепции программирования, так и в язык программирования Python. К концу вам будет комфортно программировать на Python, и вы перенесете свои навыки с платформы Codecademy на свой собственный компьютер.

Курсы Codecademy прошли сотрудники по телефону

  1. 1

    Синтаксис Python

    В этом курсе вы узнаете о синтаксисе языка программирования Python!

    ПодробнееНачать

  2. 2

    Строки и консольный вывод

    Этот курс познакомит вас со строками и консольным выводом в Python.

    View DetailsStart

  3. 3

    Условия и поток управления

    Узнайте, как использовать условные операторы и поток управления для создания программ, которые генерируют разные результаты.

    ПодробнееНачать

  4. 4

    Функции

    Узнайте, как создавать и использовать функции в Python!

    ПодробнееНачать

  5. 5

    Списки и словари

    В этом курсе вы узнаете о структурах данных, списках и словарях.

    ПодробнееНачать

  • Калькулятор чаевых

    Пришло время овладеть основами Python. В следующем проекте Pro мы будем практиковать синтаксис Python, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
    Почему? Вы проделали большую работу в своем стремлении изучить Python. Давайте построим что-нибудь, чтобы закрепить ваши новые знания.
    Что дальше? Калькулятор, чаевые, больше Python. Ты получил это!

  • Python Mad Libs

    Пришло время овладеть основами Python. В следующем проекте Pro мы будем практиковаться в вводе и печати на Python, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
    Почему? Возможность принимать входные данные и распечатывать результаты является ключевой частью программирования.
    Что дальше? Mad Libs, пользовательский ввод, больше Python. Ты получил это!

  • Калькулятор площади

    Пришло время овладеть основами Python. В следующем проекте Pro мы будем практиковать функции и условия в Python, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
    Почему? Вы когда-нибудь хотели автоматизировать домашнее задание по математике? Пришло время создать на Python что-то, что делает именно это.
    Что дальше? Формы, математика, больше Python. Ты получил это!

  • Синтаксис Python

  • Строки и выходные данные консоли

  • Условные выражения и поток управления

Checker Dense

ноль, ничего, и просто разбирайтесь во всем, когда идете, и начинайте строить
немедленно.

Описание курса

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

Подробнее

Получите сертификат об окончании
Всего нужно пройти 25 часов
Новичок

В этом курсе вы узнаете о синтаксисе языка программирования Python!

Урок

Синтаксис MrasenPython

Project

ProjectTip Calculator

Синтаксис Quizpython

Статья

Articlemake Большинство ваших членов Codecademy

Resumearrow Right Icon

2, 1 Project, 1 Quiz

2 Massons, 1 Project

9000

2 урока, 1 проект, 1 контрольная работа

2 урока, 1 проект, 1 контрольная работа

1 урок

2 урока, 1 контрольная работа

2 урока, 1 проект, 1 контрольная работа

1 урок, 1 урок

5 9 проект

2 урока, 1 проект, 1 тест

1 урок, 1 проект, 1 тест

Синтаксис Python | Codecademy

  1. 1

    Привет, мир!

    Если программирование — это процесс обучения компьютера разговору с пользователем, было бы очень полезно сначала научить компьютер говорить. В Python это достигается с помощью print…

    Start

  2. 2

    Выводы на печать

    Существуют две разные версии Python. И Python 2, и Python 3 используются по всему миру. Наиболее существенное различие между ними заключается в том, как вы пишете оператор печати. В Python 3 p…

    Start

  3. 3

    Strings

    При печати в Python мы предоставляем текстовый блок, который мы хотим напечатать. Текст в Python считается особым типом данных, называемым строка . Строка, названная так потому, что она…

    Start

  4. 4

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

    По мере того, как мы знакомимся с языком программирования Python, мы сталкиваемся с ошибками и исключениями. Это жалобы Python, когда он не понимает, что вы от него хотите. Все г…

    Начало

  5. 5

    Переменные

    В Python и при программировании в целом нам необходимо создавать системы для работы с данными, которые изменяются со временем. Этими данными могут быть местонахождение самолета, время суток или телевизор…

    Старт

  6. 6

    Арифметика

    Одна вещь, на которую компьютеры способны исключительно хорошо, — это выполнение арифметики. Сложение, вычитание, умножение, деление и другие числовые вычисления легко выполняются в большинстве программ…

    Start

  7. 7

    Обновление переменных

    Изменение содержимого переменной является одной из основных операций. По мере выполнения программы данные должны обновляться, чтобы отражать произошедшие изменения. fish_in_clarks_pond = 50 …

    Начало

  8. 8

    Комментарии

    В большинстве случаев код должен быть написан таким образом, чтобы его было легко понять. Однако, если вы хотите включить часть информации для объяснения части вашего кода, вы можете использовать t…

    Start

  9. 9

    Числа

    Переменные также могут содержать числовые значения. Самый простой тип числа в Python — это целое число, представляющее собой целое число без десятичной точки: int1 = 1 int2 = 10 int3 = -5 Число с десятичной точкой …

    Начало

  10. 10

    Два типа деления

    В Python 2, когда мы делим два целых числа, в результате мы получаем целое число. Когда частное представляет собой целое число, это работает нормально: quotient = 6/2 # значение частного теперь равно 3, что имеет смысл Ho…

    Start

  11. 11

    Многострочные строки

    Мы видели как определить строку с одинарными кавычками и с двойными кавычками. Если мы хотим, чтобы строка занимала несколько строк, мы также можем использовать тройные кавычки: address_string = «»»136 Whowho Rd Apt 7 Wh…

    Start

  12. 12

    Логические значения

    Иногда нам нужны переменные, которые либо истинны, либо ложны. Этот тип данных, который может принимать только одно из двух значений, называется логическим.