python – Terminology – What is the difference between instruction and declaration?

Question:

What would be their difference?

Instruction would be a line of code representing certain commands/actions passed to the computer to execute.

Declaration, following the logic, would it be a type of instruction? Since, as I understand it, it would be an instruction to declare something (a variable declaration instruction, for example).

Is there any difference between these two words?

I thank everyone!

Answer:

Declaration is when you declare a variable, function, method, class or the like.

Instruction is where you instruct the program to perform a certain action.

Declarations are not normally considered instructions because they say something that explains to the compiler or interpreter where certain data is written or what its format is. It's not usually something to be done directly and that's going to have some kind of effect somewhere.

Instructions, on the other hand, are things to be executed at certain times and that have some kind of effect: they change variable values, allocate or (depending on the language) deallocate memory, modify the state of the execution stack, perform some type of input or output, etc. Declarations don't do this as they are not executables, they just give names to some things.

It's true that you can have something like this, depending on the programming language:

var x = 123;

In this case, the declaration is var x and the initialization is x = 123 . Initialization is an assignment type that is an instruction type. In this case, this line contains a declaration and an instruction. They could be separated with this equivalent:

var x;
x = 123;

In Python specifically, the use of class MinhaClasse: is a class declaration, whereas def meu_metodo(): is a method declaration. Python does not require the declaration of variables in other cases, but variables are required in other programming languages, especially those that are statically typed, such as C, C++, Java, C#, Pascal, Delphi, Rust and many others.

Scroll to Top