Урок 1.1. Что такое Python?
Представьте, что вы пришли на базар, чтобы купить фруктов. Продавец может сообщить вам цены товаров и что-нибудь продать, если его попросить. Компьютер тоже может выполнять команды, но не может указать самому себе, что делать. Он нуждается в инструкциях, которые составляют люди. Набор инструкций для компьютера называется программой.
На базаре мы говорим с продавцом на естественном, человеческом языке: «Сколько это стоит?», «Взвесьте мне полкило» и т.п. Но компьютеру не скажешь «Сложи два числа» или «Открой сайт Вышки». Понятный ему язык – это машинный код, нули и единицы. Конечно, можно писать программы в двоичном коде – но мозги очень быстро закипят. Легче создать переводчик с языка, понятного для человека, на компьютерный язык. Такой переводчик называется транслятором.
Язык программирования – это язык, на котором мы пишем программы для компьютера. В нем, как и в любом языке, есть набор правил, который называется синтаксисом.
Языки высокого и низкого уровня
Есть много языков программирования, и их можно по-разному классифицировать. Первое важное для нас деление – по уровню. Языки программирования низкого уровня более понятны компьютеру, а не человеку. Программы, написанные на них, работают быстрее, но их сложно и долго писать. Так выглядит программа на низкоуровневом языке Ассемблер, которая выводит на экран строчку Hello, world!!!
:
.model tiny .code ORG 100h begin: MOV AH, 9 MOV DX, OFFSET Msg INT 21h RET Msg DB 'Hello, World!!!#39; END begin
Язык программирования высокого уровня более понятен человеку, а не компьютеру. Вот та же самая программа на высокоуровневом языке Python:
print('Hello, World!!!')
Для решения разных задач используют разные языки программирования. HTML и JavaScript нужны для работы интернет-сайтов, SQL для баз данных, Java для компьютерных игр, Swift для iOS-приложений, Ассемблер – для драйверов, и т.д.
Компилируемые и интерпретируемые языки
Ещё одна важная классификация языков программирования – по способу трансляции, то есть перевода на машинный язык. Трансляторы, которые переводят всю программу целиком и только после этого выполняют её, называются компиляторами, а соответствующие языки программирования – компилируемыми.
Также транслятор может переводить программу по одной строке и сразу же выполнять. Такой транслятор называется интерпретатором, а соответствующий язык программирования – интерпретируемым.
Python – интерпретируемый язык программирования.
Зачем это нужно знать? С одной стороны, программы на интерпретируемом языке работают медленнее, чем если бы они были написаны на компилируемом языке.
С другой стороны, никто не застрахован от синтаксических ошибок. Если вы ошибетесь в программе на компилируемом языке Паскаль, то сразу получите ошибку, и ни одна команда не выполнится.
В этой программе на Паскале есть ошибка – в конце восьмой строки отсутствует точка с запятой:
var x: integer; c1,c2: integer; begin write('Введите двузначное число: '); readln(x); c1 := x div 10; c2 := x mod 10 writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2); end.
Если попробовать ее запустить, то компилятор выдаст ошибку:
main.pas(9,3) Fatal: Syntax error, ";" expected but "identifier WRITELN" found Fatal: Compilation aborted Error: /usr/bin/ppcx64 returned an error exitcode
А вот программа на Python, тоже с ошибкой:
num = int(input('Введите двузначное число: ')) digit_1 = num//10 digit_2 == num%10 print('Первая цифра:', digit_1, '\n', 'Вторая цифра:', digit_2)
Если ее запустить, то сначала она попросит ввести число:
Введите двузначное число: 55 # Число 55 мы ввели с клавиатуры
И только потом интерпретатор сообщит, что мы перепутали условный оператор == и оператор присваивания =, из-за чего программа встает колом:
Traceback (most recent call last): File "c:\Users\reale\OneDrive\Рабочий стол\test_program.py", line 4, in <module> digit_2 == num%10 ^^^^^^^ NameError: name 'digit_2' is not defined. Did you mean: 'digit_1'?
Если в поле с кодом вы видите длинный знак «равно», то знайте – это два знака «равно» подряд: ==. Косячит не автор статьи, а Телетайп 🥲
Где писать код?
Программный код удобно писать через специальное приложение – среду разработки. Она подсказывает, где допущены синтаксические ошибки, зная, какой язык программирования вы используете.
Есть разные среды разработки. Мы советуем использовать VS Code.
Вот инструкция, как установить интерпретатор Python на компьютер. А вот как установить и настроить VS Code.