Перейти к содержимому

Что такое синтаксис в python

  • автор:

Базовый синтаксис языка Python

программирования, работающий на всех распространённых операционных системах.

В настоящее время существует две версии языка Python: более старая и стремительно теряющая популярность версия 2 и современная версия 3. Мы будем использовать версию 3 данного языка. Именно её необходимо установить дома, скачав данную версию с сайта www.python.org.

Запустить интерпретатор python можно из командной строки:

python3

Будьте внимательны: команда python может запустить интерпретатор версии 2, с которым мы работать не будем. В системе Windows можно использовать пункт меню «Python (command line)».

Интерактивный режим

Откройте командную строку и напишите команду python3.

Вы увидите примерно следующее приглашение командной строки:

Python 3.10.6 (main, Aug 2 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 

Вводите команды и наслаждайтесь результатом. А что можно вводить? Несколько примеров:

>>> 2 + 2 4 >>> 2 ** 100 1267650600228229401496703205376 >>> 'Hello' + 'World' 'HelloWorld' >>> 'ABC' * 10 'ABCABCABCABCABCABCABCABCABCABC' 

Первая команда вычисляет сумму двух чисел, вторая команда вычисляет 2 в степени 100, третья команда выполняет операцию конкатенации («склеивания») для строк, а четвертая команда печатает строку ‘ABC’ , повторенную 10 раз.

Хотите закончить работу с питоном? Введите команду exit () (именно так, со скобочками, так как это — функция) или нажмите :python:Ctrl+D.

Программируемый режим

В предыдущей главе мы использовали Python для простых разовых вычислений, используя интерактивный режим. Теперь создадим программу и выполним её целиком.

a = 179 b = 197 c = (a ** 2 + b ** 2) ** 0.5 print (c) 

Здесь мы используем переменные — объекты, в которых можно сохранять различные (числовые, строковые и прочие) значения. В первой строке переменной a присваивается значение 179 , затем переменной b присваивается значение 197 , затем переменной c присваивается значение арифметического выражения (a 2 + b 2 ) 1 ⁄ 2 , равного длине гипотенузы. После этого значение переменной c выводится на экран.

Упражнение №1: первая программа

Откройте произвольный текстовый редактор, например, gedit . Скопируйте туда текст программы, написанной выше. Сохраните текст в файле с именем hypot . py .

Запустите терминал, перейдите в каталог, где лежит файл hypot . py и выполните эту программу:

python3 hypot.py

Интерпретатор языка Python вместо интерактивного режима выполнит последовательность команд из файла.

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

Базовый синтаксис языка Python 3

Типы данных

Итак, мы видим, что Python умеет работать как минимум с двумя видами данных — числами и строками. Числа записываются последовательностью цифр, также перед числом может стоять знак минус, а строки записываются в одинарных кавычках. 2 и ‘2’ — это разные объекты, первый объект — число, а второй — строка. Операция :python:+ для целых чисел и для строк работает по-разному: для чисел это сложение, а для строк — конкатенация.

Кроме целых чисел есть и другой класс чисел: действительные (вещественные числа), представляемые в виде десятичных дробей. Они записываются с использованием десятичной точки, например, 2.0 .

Определить тип объекта можно при помощи функции type :

>>> type(2) >>> type(‘2’) >>> type(2.0)

Обратите внимание: type является функцией, аргументы функции указываются в скобках после ее имени.

Операции с числами

Вот список основных операций для чисел:

  • A + B — сумма;
  • A — B — разность;
  • A * B — произведение;
  • A / B — частное;
  • A ** B — возведение в степень:
  • A // B — целочисленное деление;
  • A % B — остаток от деления.

Полезно помнить, что квадратный корень из числа :python:x — это x ** 0.5 , а корень степени :python:n — это x ** ( 1 / n ) .

Есть также унарный вариант операции :python:-, то есть это операция с одним аргументом. Она возвращает число, противоположное данному. Например: — A .

В выражении может встречаться много операций подряд. Как в этом случае определяется порядок действий? Например, чему будет равно 1 + 2 * 3 ** 1 + 1 ? В данном случае ответ будет 8, так как сначала выполняется возведение в степень, затем — умножение, затем — сложение (соответствует математическому 1 + 2⋅3 1 + 1 ).

Более общие правила определения приоритетов операций такие:

  1. Выполняются возведения в степень справа налево, то есть 3 ** 3 ** 3 это 3 27 .
  2. Выполняются унарные минусы (отрицания).
  3. Выполняются умножения и деления слева направо. Операции умножения и деления имеют одинаковый приоритет.
  4. Выполняются сложения и вычитания слева направо. Операции сложения и вычитания имеют одинаковый приоритет.

Операции над строками

  • A + B — конкатенация;
  • A * n — повторение n раз, значение n должно быть целого типа.

Ветвление

Ветвление (или условная инструкция) в Python имеет следующий синтаксис:

if Условие: Блок_инструкций_1 else: Блок_инструкций_2 

Блок_инструкций_1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен Блок_инструкций_2 .

В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x , то это можно сделать следующим образом:

if x  0: x = -x print(x) 

В этом примере переменной x будет присвоено значение — x , но только в том случае, когда x < 0 . А вот инструкция print ( x ) будет выполнена всегда, независимо от проверяемого условия.

Для выделения блока инструкций, относящихся к инструкции if или else , в языке Python используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела.

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

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

Примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):

x = int(input()) y = int(input()) if x > 0: if y > 0: # x>0, y>0 print("Первая четверть") else: # x>0, y print("Четвертая четверть") else: if y > 0: # x0 print("Вторая четверть") else: # x <0, yprint("Третья четверть") 

В этом примере мы использовали комментарии – текст, который интерпретатор игнорирует. Комментариями в Pythonе является символ # и весь текст после этого символа до конца строки. Желательно писать код так, чтобы комментарии были излишними, однако допускается писать их там, где возникают «призраки» (утверждения или теоремы, которые использованы при написании кода, но не следуют из самого кода). Однако код выше является плохим примером документации: комментарии врут, поскольку автором не учтены точки на осях.

Операторы сравнения

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

Оператор Значение
Меньше — условие верно, если первый операнд меньше второго.
> Больше — условие верно, если первый операнд больше второго.
Меньше или равно — условие верно, если первый операнд меньше или равен второму.
>= Больше или равно — условие верно, если первый операнд больше или равен второму.
== Равенство. Условие верно, если два операнда равны.

Операторы сравнения в можно объединять в цепочки, например, a == b == c или 1

Тип данных bool

Операторы сравнения возвращают значения специального логического типа bool . Значения логического типа могут принимать одно из двух значений: True (истина) или False (ложь). Если преобразовать логическое True к типу int , то получится 1, а преобразование False даст 0. При обратном преобразовании число 0 преобразуется в False , а любое ненулевое число в True . При преобразовании str в bool пустая строка преобразовывается в False , а любая непустая строка в True .

Каскадные условные инструкции

Пример программы, определяющий четверть координатной плоскости, можно переписать, используя «каскадную» последовательность инструкцией if . elif . else :

x = int(input()) y = int(input()) if x > 0 and y > 0: print("Первая четверть") elif x  0 and y > 0: print("Вторая четверть") elif x  0 and y  0: print("Третья четверть") elif x > 0 and y  0: print("Четвертая четверть") else: print("Точка находится на осях или в центре координат.") 

В такой конструкции условия if , . elif проверяются по очереди, выполняется блок, соответствующий первому из истинных условий. Если все проверяемые условия ложны, то выполняется блок else , если он присутствует. Обратите внимание, что таким образом мы чётче видим условия наступления случаев (нет «призраков»), а также отлавливаем ситуацию, когда точка не находится ни в одной из четвертей.

Цикл while

Цикл while («пока») позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Синтаксис цикла while в простейшем случае выглядит так:

while Условие: Блок_инструкций 

При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while . Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.

Например, следующий фрагмент программы напечатает на экран всех целые числа, не превосходящие n:

a = 1 while a  n: print(a) a += 1 

Общая схема цикла while в данном случае для перебора всех подходящих значений такая:

a = начальное_значение while а_является_подходящим_числом: обработать_a перейти_к_следующему_a 

Выведем все степени двойки, не превосходящие числа n:

a = 1 while a  n: print(a) a *= 2 

Цикл for

Цикл for может быть использован как более краткая альтернатива циклу while .

Для последовательного перебора целых чисел из диапазона [ 0 ; n ) можно использовать цикл for :

for i in range(10): print(i) 

Этот код по выполняемым действиям полностью соответствуют циклу while :

i = 0 while i  10: print(i) i += 1 

Можно задавать начальные и конечные значения для переменной цикла, а также шаг:

for i in range(20, 10, -2): print(i) 

Аналогичный цикл while

i = 20 while i > 10: print(i) i -= 2 

Контест №1

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

В первый раз вам придётся создать пользователя (логин и пароль обязательно запишите!), а также ввести некоторую регистрационную информацию: фамилию, имя, номер учебной группы. Пожалуйста, вводите реальные данные, иначе преподаватель не сможет учитывать ваши решения.

Попробуйте сдать решение первой задачи:

x, y = input().split() x, y = int(x), int(y) print(x + y) 

Сайт построен с использованием Pelican. За основу оформления взята тема от Smashing Magazine. Исходные тексты программ, приведённые на этом сайте, распространяются под лицензией GPLv3, все остальные материалы сайта распространяются под лицензией CC-BY.

Синтаксис Python — в чем главные подводные камни на первый взгляд легкого ЯП. Перспективы языка

Python — один из самых популярных языков программирования. Как мы писали, в январе 2022 года он во второй раз за свою историю стал лидером ежемесячного рейтинга языков программирования Tiobe. Рост популярности Python за год составил 1,86%.

Популярность языка обусловлена его относительной простотой — работать с ним может быстро начать даже новичок. Конечно, никто не говорит, что этот новичок сможет сразу же писать высоконагруженные проекты, нет. Но решать задачи базового уровня — вполне. Но все же есть проблемы даже здесь, и о них поговорим в статье. Разбираем подводные камни Python вместе с Алексеем Некрасовым, лидером направления Python в МТС, программным директором направления Python и спикером профессии “Python-разработчик” в Skillbox.

Немного о достоинствах языка

На Хабре очень много статей о достоинствах Python, поэтому повторяться не будем. Скажем только, что язык действительно знаменит своей простотой. Причем с течением времени в нём появилось много “синтаксического сахара”, который позволяет быть ему немногословным и понятным языком, похожим на псевдокод. А всё сложное убрано “под капот”, чтобы не отвлекать разработчика. Простота позволяет быстро создавать прототипы и проверять гипотезы. Благодаря этому новичкам проще всего начать изучать программирование с Python.

Что такое синтаксический сахар? Это набор синтаксических конструкций, применение которых не влияет на поведение программы, но делает использование языка более удобным для человека. Например, паттерн “декоратор”:

def decorator_log(func): def wrapper(*args, **kwargs): print("вызов функции с параметрами", args, kwargs) res = func(*args, **kwargs) return res return wrapper def func_1(): print('Тестовая функция') func_1 = decorator_log(func_1) # Вместо func_1 = decorator_log(func_1) можно теперь написать: @decorator_log def func_1() print('Тестовая функция')

Таких конструкций в языке достаточно много, они упрощают чтение кода и работу с ним.

Интерпретатор Python берёт на себя всю скучную и сложную работу по управлению памятью, потоками и т.д. Но есть и проблема. Дело в том, что из-за всех этих приятных плюсов Python теряет в скорости по сравнению с другими языками программирования.

Подробно о проблемах

Кроме потерь в скорости есть и другие подводные камни, о которых далеко не всегда знают начинающие разработчики. Среди них особенно выделяются две крупные проблемы, это динамическая типизация и так называемый «новый сахар».

Динамическая типизация

Python — динамически типизированный язык программирования. Это позволяет быстро разрабатывать прототипы и писать код. Динамическая типизация, если объяснять “на пальцах”, значит, что одна и та же переменная в разное время может ссылаться на данные разного типа. Например:

data = input() or '123456' # сейчас в переменной data лежит строка data = int(data) # теперь в переменной data лежит целое число

И это будет работать.

Статистические языки программирования, например C, такого сделать не позволяют. Но в динамической типизации есть подвох. Если в простых проектах все ок и проблем не возникает, то, чем масштабнее проект на Python, тем больше появляется ошибок, связанных с типом переменных. Так, где-то далеко в коде введена функция, которая на вход принимает переменную data, введенную пользователем. В функции проверили, что введенное число является двузначным:

if len(data) != 2: print("Нужно ввести двухзначное число")

При выполнении этого кода мы внезапно получаем ошибку

if len(data) != 2: TypeError: object of type 'int' has no len()

Это означает, что в каком-то участке нашего кода строка уже переведена в число, и добавлена в переменную data. Подобные ошибки — далеко не редкость. Чаще всего они возникают на проектах, где работает от двух человек. Для того, чтобы ошибок не было, необходимо писать тесты, которые проверяют, нужный ли формат данных у переменных. У статических языков программирования таких проблем нет.

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

data: str = input() or '123456' number: int = int(data) if len(number) != 2: print("Нужно ввести двухзначное число")

После написания кода приходится запускать для проверки mypy. Система проверяет, что int как строка нигде не используется. И если запустить mypy, то появится ошибка о передаче неверной переменной в функцию len:

​​error: Argument 1 to "len" has incompatible type "int"; expected "Sized"

Почему здесь употребляется термин «псевдостатическая типизация»? Дело в том, что при запуске скрипта Python проверка не будет проводиться сразу же, так что разработчик не будет знать, корректно ли выполняется передача значения в функцию len или нет. Ошибка появится лишь тогда, когда будет запущена программа с передачей в нее входного значения.

Новый сахар и усложнения в языке

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

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

from typing import Optional def to_int(string: str) -> Optional[int]: try: return int(string) except ValueError: return None data = ['sadf', '12', '1', 'a1'] filter_data = [] for i_str in data: i_number = to_int(i_str) if i_number is not None: filter_data.append(i_number) print(filter_data)

Но начиная с версии 3.8 блок с for вполне можно записать следующим образом:

filter_data = [y for x in data if (y := to_int(x)) is not None]

Опытный разработчик в этом разберется без проблем, но для новичка чтение кода будет сложной задачей.

Какие еще есть сложности?

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

  • Изучение простого синтаксиса, типов данных, функций, классов и т.д. На этом этапе нужно научиться понимать простые типы и структуры данных, а также “набить руку” на решении множества простых задач.
  • Изучение паттернов, которые реализованы уже в самом языке: декораторы, итераторы, генераторы, контекст менеджеры и т.д. На этом этапе идет осознание паттернов проектирования и как они реализованы в самом языке. Тут новичку из другой сферы будет непросто, но часто в осознании этих тем помогают наставники или хорошо подобранные статьи.
  • Изучение различных прикладных фреймворков: web (flask, FastApi, Django и др.), работа с БД (SQLAlchemy, sqlite3, Tortoise ORM и др.), работа с данными (numpy, pandas, marshmallow, pydantic и др.) и т.д. Здесь сталкиваемся со сложностью в определении направления своего развития и выстраивания своего маршрута в изучении доп. инструментов. Новичкам я бы посоветовал для этого проконсультироваться с опытным разработчиком или наставником.
  • Углублённое изучение языка: метаклассы, дескрипторы и т.д. В обычной работе разработчик с этим практически не встречается, так как 90% всех задач можно решить без этих знаний. Но если вы хотите стать первоклассным разработчиком, то этих тем вам не обойти.

В целом, обойти проблемы помогает постоянное обучение, а также более опытные коллеги и наставники. Не бойтесь обращаться к ним за помощью, как говориться: “Не тот глуп, кто не знает, но тот, кто знать не хочет.” К слову, если у вас возникли проблемы на каком-то из этих этапов, можете писать мне, постараюсь помочь.

А что насчет перспектив языка?

Если коротко, то с уверенностью могу сказать — они есть, изучать Python стоит, не сомневайтесь.

Если же расписать подробнее, то скажу, что с каждым годом требования для новичков со стороны работодателей возрастают. Все дело в том, что появляются новые фреймворки, более сложные версии языка программирования, новые инструменты и т.д.

Пять лет назад, чтобы устроиться junior python web-разработчиком нужно было уметь решать алгоритмические задачи и знать основы языка программирования. А сейчас добавилось следующее:

  • знание одного из фреймворка Flask/Django (желательно ещё и асинхронного фреймворка, например, FastAPI);
  • знание SQL и работа с PostgreSQL;
  • знание тестовых фреймворков pytest, unittest;
  • знание принципов контейнеризации и работы с docker;
  • знание основ Linux.

В ближайшее три-пять лет спрос будет расти на middle и senior разработчиков, так как именно они выполняют основную часть задач в IT-компаниях. Если смотреть на спрос стажёров/junior, то тут всё сложнее по следующим причинам:

  • Junior разработчик приносит только убыток компании, так ему нужен наставник (уровня middle/senior). В итоге на решение определенной задачи с учеником тратится больше времени, чем если бы задачу делал сам наставник.
  • Часто через полгода-год стажер/junior уходит из компании, в которой обучался, в другую с увеличением зарплаты в среднем в 2 раза. Соответственно, терпит убытки компания, которая первой наняла молодого специалиста на работу.
  • Завышенные ожидания у стажёров/junior. Многие переходят из других сфер, где они уже привыкли к своему доходу и не готовы переходить, к примеру, со 100 тыс. руб в месяц на 50 тыс. руб.

Через три-четыре года у стажёров/junior начнёт появляться конкурент в лице ИИ. Недавно компания DeepMind (дочка Alphabet), выполнила на платформе Codeforces 10 тестов и попала в 54% лучших участников. Вполне вероятно, что в скором будущем ИИ сможет решать простые, шаблонные задачи, которые в обычной ситуации дают стажерам/junior-разработчикам.

В качестве вывода

Подводя итог, мы видим, что если вы хотите перейти в сферу IT как python-разработчик, то вам нужно:

  • Максимально сконцентрировать свои силы на обучении, учиться предстоит многому, это будет занимать время.
  • Быть готовым тому, что в течение полугода-года ваша зарплата не превысит 100 тыс. руб. в месяц.
  • Постараться устроиться на первую работу и начать учиться у более опытных коллег.

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

  • Блог компании Skillbox
  • Python
  • Программирование

Синтаксис Python#

Первое, что, как правило, бросается в глаза, если говорить о синтаксисе в Python, это то, что отступы имеют значение:

  • они определяют, какой код попадает в блок;
  • когда блок кода начинается и заканчивается.

Пример кода Python:

a = 10 b = 5 if a > b: print("A больше B") print(a - b) else: print("B больше или равно A") print(b - a) print("Конец") def open_file(filename): print("Чтение файла", filename) with open(filename) as f: return f.read() print("Готово") 

Этот код показан для демонстрации синтаксиса. И, несмотря на то, что ещё не рассматривалась конструкция if/else, скорее всего, суть кода будет понятной.

Python понимает, какие строки относятся к if на основе отступов. Выполнение блока if a > b заканчивается, когда встречается строка с тем же отступом, что и сама строка if a > b . Аналогично с блоком else. Вторая особенность Python: после некоторых выражений должно идти двоеточие (например, после if a > b и после else ).

Несколько правил и рекомендаций по отступам:

  • В качестве отступов могут использоваться табы или пробелы (лучше использовать пробелы, а точнее, настроить редактор так, чтобы таб был равен 4 пробелам – тогда при использовании клавиши табуляции будут ставиться 4 пробела, вместо 1 знака табуляции).
  • Количество пробелов должно быть одинаковым в одном блоке (лучше, чтобы количество пробелов было одинаковым во всём коде – популярный вариант, это использовать 2-4 пробела, так, например, в этой книге используются 4 пробела).

Ещё одна особенность приведённого кода, это пустые строки. С их помощью код форматируется, чтобы его было проще читать. Остальные особенности синтаксиса будут показаны в процессе знакомства со структурами данных в Python.

В Python есть специальный документ, в котором описано как лучше писать код Python PEP 8 — the Style Guide for Python Code.

Комментарии#

При написании кода часто нужно оставить комментарий, например, чтобы описать особенности работы кода.

Комментарии в Python могут быть однострочными:

# Очень важный комментарий a = 10 b = 5 # Очень нужный комментарий 

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

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

""" Очень важный и длинный комментарий """ a = 10 b = 5 

Для многострочного комментария можно использовать три двойные или три одинарные кавычки. Комментарии могут использоваться как для того, чтобы комментировать, что происходит в коде, так и для того, чтобы исключить выполнение определённой строки или блока кода (то есть закомментировать их).

Синтаксис Python для начинающих. Базовые примеры синтаксиса

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

Несмотря на минималистичный синтаксис, Python позволяет решать множество современных задач и поддерживает несколько парадигм программирования. При этом популярность языка постоянно растёт, а последнее время он регулярно попадает в ТОП-5 рейтинга TIOBE.

Python не зря называют одним из лучших языков для начинающих. Во многом, так говорят за счёт его синтаксиса, который является гибким, минималистичным и почти «всепрощающим». А ведь синтаксис языка программирования Python действительно прост, и базовое описание о нём легко помещается в небольшой абзац. В этой статье мы его рассмотрим и сделаем это максимально просто и понятно.

Особенности синтаксиса языка Python:

  1. Конец строки в Пайтоне является концом инструкции, то есть точка с запятой не нужна.
  2. Вложенные инструкции объединяют в блоки в зависимости от величины отступов. Причём отступ может быть любым – главное то, чтобы он был одинаковым в пределах одного вложенного блока. Естественно, тут стоит помнить про читабельность вашего кода. То есть отступ в 1 пробел вряд ли можно назвать лучшим решением, а вот использование Tab уже лучше.
  3. Вложенные инструкции в языке программирования Python записывают с учётом одного и того же шаблона, исходя из которого, основная инструкция завершается двоеточием, а вслед за двоеточием располагается вложенный блок кода. Этот блок кода, как правило, имеет отступ под строкой основной инструкции. Давайте посмотрим, как выглядит этот синтаксис на примере:
 
Основная инструкция: Вложенный блок с инструкциями

Специальные случаи в синтаксисе языка Python:

  1. Допускается запись нескольких инструкций в одной строке, разделяемых точкой с запятой:
 
a = 7; b = 3; print(a, b)

Главное — не злоупотреблять этой возможностью, ведь через месяц даже вы сами не сможете прочитать свой код. Помните об этом. 2. Допускается запись одной инструкции в нескольких строках. Для этого достаточно заключить её в круглые, квадратные либо фигурные скобки. 3. Тело составной инструкции можно располагать в той же строке, в которой располагается основная инструкция, но при условии, что основная инструкция не содержит составных инструкций:

 
if x > y: print(x)

Синтаксис Python на примере первой программы

Чтобы получить более чёткое представление о базовом синтаксисе языка программирования Python, давайте напишем простейшую программу. Если это ваша первая программа, воспользуйтесь любым онлайн-компилятором, поддерживающим Пайтон, например, этим.

И поместите туда следующий код, написанный в соответствии с правилами синтаксиса:

 
print('Welcome to OTUS!')

Уже на примере этой строчки мы видим, насколько прост синтаксис Python, ведь мы создали вполне себе рабочую программу, состоящую всего из одной строчки! Как вы уже догадались, программа выводит в терминал надпись ‘Welcome to OTUS!’, используя функцию print() . Да, вместо классического ‘Hello, World!’ мы написали другое словосочетание. Но и вы можете написать всё, что пожелаете — или вы не будущий Python-программист?

Теперь усложним задачу и напишем ещё что-нибудь:

 
s = input('What is your name? \n') print('Hello, ', s,'! Welcome to OTUS!')

Эта программа состоит всего из двух строк, зато она не просто выводит какое-нибудь сообщение, а является интерактивной, то есть взаимодействует с пользователем: 1) мы присваиваем переменной s значение функции input() с параметром 'What is your name? \n'. А знак табуляции \n переносит строку (осуществляет перевод на новую строку), чтобы всё выглядело красиво (можете этот знак убрать и посмотреть, что получится); 2) input() получает строку, которую вы вводите с клавиатуры, а переменная s приобретает введённое вами значение; 3) уже знакомая вам функция print() выводит в терминал полученный результат, подставляя имя, которое вы введёте.

Результат:

1-20219-f33120.png

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

Если же вы всерьёз решили стать Python-программистом, но только начинаете свой путь на этом поприще, обратите внимание на наш подготовительный курс. Успешно освоив его, вы сможете в дальнейшем поступить и на курс для продвинутых разработчиков, где творится настоящая магия:

Мы предлагаем вам best practice по решению прикладных задач и освоению инструментов, применяемых при разработке инфраструктурных решений, веб-приложений, систем контроля качества и аналитических систем.

На кого рассчитан курс?

Курс предназначен для разработчиков, имеющих опыт программирования и желающих повысить свою квалификацию путём получения новых знаний и навыков. Вам будет комфортно учиться, если вы: - уверенно чувствуете себя с Python; - знакомы с C; - имеете представление о сетевом взаимодействии и реляционных СУБД; - знаете, как обращаться с Linux, git’ом и другими стандартными инструментами девелопера.

В чём особенность курса?

Главная цель — погрузить вас в современную «промышленную» разработку путём освоения основных software engineering компетенций и формирования прагматичного подхода к решению поставленных задач. Выполнение этой цели достигается с помощью следующих особенностей курса: 1. Высокая практикоориентированность. Студентам предлагается много домашних заданий, причём некоторые из них представляют собой настоящий challenge. Задания можно выполнять и во 2-й, и в 3-й версии Python, что говорит об универсальности программы. В конце курса предусмотрен большой выпускной проект.
2. Широкий охват. Вы испытаете свои способности и в web, и в анализе данных, и в вопросах создания высоконагруженных систем. Вы поймёте структуру разработки ПО и узнаете ответы на следующие вопросы: - как писать простой и идиоматичный код, за который не будет мучительно стыдно? - как тестировать и поддерживать код на Python? - как создать приложение, которое не умрёт под нагрузкой?

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

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