flybonzai
flybonzai

Reputation: 3931

Questions about Python conceptual hierarchy

I'm reading through Learning Python (3rd Edition), by Mark Lutz, and I'm in the portion that is dealing with the nuts and bolts of Python syntax.

He defines the Python language-structure hierarchy as follows:

  1. Programs are composed of modules
  2. Modules contain statements
  3. Statements contain expressions
  4. Expressions create and process objects

I'm a little confused about the definition of Python statements.
I've heard Expressions described as anything that is a value, but also can contain things like addition, etc.

Is it safe to say that statements are structured operations on expressions that drive a module's logic?

Upvotes: 1

Views: 312

Answers (3)

kmonsoor
kmonsoor

Reputation: 8109

Yes, you are almost there.

Expressions are something that evaluate to some value.

On the other hand, statements are something that cause some action.

That action can be on some object, based on result of an expression which may or may not involve some other object(s).

Upvotes: 3

Daniel Roseman
Daniel Roseman

Reputation: 599490

I'm quite wary of classifications like this, and especially attempts to make them into a hierarchy. An expression can also be, for example, a function call; I guess that falls into your "anything that is a value" definition since a function always returns a value even if it is None.

A statement is really everything else; assignment, flow control (eg defining a for or while loop, try/except, break, continue...), the introduction of a function or a class definition (the def or class keywords), and so on.

Upvotes: 1

Canyonman133
Canyonman133

Reputation: 49

I found this with a quick Google search, is it what you where looking for?

What is the difference between an expression and a statement in Python?

"Statements (see 1, 2), on the other hand, are everything that can make up a line (or several lines) of Python code. Note that expressions are statements as well."

Upvotes: 2

Related Questions