Синтаксис языка

Инструкции/Операторы

Инструкция — это (грубо говоря) команда, действие, как и оператор, но вполне часто можно заметить разделение: арифметические операторы называют как не странно операторами, а вот оператор объявления функции def часто могут назвать инструкцией.

В целом же разницы между ними нет.

while True:
print("I love you!")

Давайте добавим еще одно определение:

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

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

Операторы бывают:

  • Унарные: когда с оператором используется только один операнд
    del some_list[0] # оператор/инстукция 'del' получает один операнд
  • Бинарные: когда с оператором используется два операнда
    4 + 5
  • Тернарные: когда с оператором используется три оператора Во многих языках тернарный оператор один, и отвечает он за ветвление
    SOME_INT = 3
    is_odd = True if SOME_INT % 2 != 0 else False

    На этом изображении примеры перечислены в порядке:

    • Бинарный оператор сложения
    • Унарный оператор инкремента
    • Тернарный оператор ветвления

Выражения

Это инструкция которая которая возвращает значение, чтобы было понятнее давайте посмотрим на такой ошибочный код:

А вот вам определение из с сайта MDN
Выражением является любой корректный блок кода, который возвращает значение.

print(del foo[0]) # На этой строчке ошибка

Ну вот... вроде бы мы с вами воспользовались оператором del, но этот оператор ничего не возвращает, а значит в консоль ничего не попало. Ну и вообще вы получили SyntaxError. А вот второй пример:

print("even" if 3 % 2 == 0 else "odd")

В этом примере мы воспользовались тернарным оператором(<value> if <conditional> else <value>)

Комментарий

Простые, однострочные комментарии в python очень примитивные, их один вариант:

# My comment

Давайте к коментариям отнесем и docstring

def foo():
"""My awesome function""" # 👈 - docstring, а я комментарий
pass

То что вы видите выше является объявлением функции, но есть интересная деталь в том, что если в начале тела функции встречается строчный литерал, то строка объявленная в начале будет считаться документацией(комментарием) к функции.

docstring попадает в аттрибут __doc__ функции:

print(foo.__doc__) # My awesome function

Аналогично строчный литерал объявленый в начале файла будет документацией модуля.

# somefile.py
"""
This is very cool module!
"""
def main():
pass

У модуля тоже есть аттрибут __doc__:

import some_module
print(some_module.__doc__) # Выведет docstring модуляы

Глобальная функция help()

Обращаться к методам с двумя подчеркиваниями считается плохим тоном, поэтому у нас есть функция help() которая вернет нам поле __doc__ объекта

print(help(some_module)) # This is very cool module!

Полезные ссылки