Читая различную литературу по python, регулярно попадаются понятия литерала, инструкции и выражения. Однако четкого (однозначного) определения этих базовых понятий я не нашел. Пытаясь докопаться до истины, просмотрел много информации, выслушал множество мнений и, на удивление, понял, что не смотря на то, что эти термины являются базой и основой, многие до конца их не понимают или понимают на подсознательном уровне.
Короче, интересует мнение экспертов. Давайте дадим четкое определение этих трех понятий.
ИМХО:
Инструкции, в некоторых источниках называют опараторами statements. Определения не нашел.
К ним относятся следующие инструкции:
assert, break, class, continue, def, del, if, elif, else, try, except, exec, finally, for, from, global, import, pass, raise, return, while, yield.
В питон2 сюда входил еще print
В питон3 print() - стал функцией, однако почти во всех книгах почему-то все равно print() называют инструкцией?
Относятся ли сюда операции присваивания?
Выражения expressions. Выражение представляет собой объект.
Примеры:
1
5.0
“hello”
None, True, False
(), , {}, (1, 2, 3), , {'a':1, ‘b’:2}
______________________
однако, a = 1 #инструкция
b = 2*3 + 9**0.5 #инструкция
c = {'a':1, ‘b’:2} #инструкция
______________________
d = MyClass() #это инструкция?
e = foo() #это инструкция?