So, when Python is competing the value of this expression,

it breaks it down in the smaller parts,

so it first adds one plus two,

takes the result and then add three to that and

then it get six as the value of this expression.

Then the statement says assign the value six into the value equal to x.

Now, let's look at just a few other examples of expressions.

So here, the expression 500 is what's called the literal expression

because the value 500 is going to be the same as the expression itself,

and this has type integer,

another literal expression with a float might be 3.14,

which has value 3.14 and has type float.

Again, we can have slightly more complex expressions as well.

So, we might have an expression that adds two numbers,

so 200 plus 300 is an expression.

When Python sees this expression,

it competes its value which is 500 and an integer.

We have expressions of course with floats as well.

So, we can have 10.0 plus 5.0 an expression that has a value 15.0,

which is a float.

Now, whenever we call a function including the print function,

Python first evaluates the value of the expression that we are actually printing.

So here, on line one,

we are calling the print function.

And Python sees that the argument to the print function is this expression.

So, what Python does is it doesn't printout the expression

itself instead first competes the value of this expression.

It computes the value of this expression by

breaking it down in the smaller sub-expressions.

So here, Python is going to compute one plus one and get two.

Then it's going to compute the value of

this subexpression two times three and it gets six,

and then we add two plus six to get eight.

Eight is the final value that we actually printout.

Here, when we printout the value of this expression,

then Python first figures out what's the value of this expression,

here it's a literal expression,

so Python figures out it's a string that has H-E-L-L-O as its characters,

and then when we call the len function on that string,

then we see that there are one,

two, three, four, five characters,

so the value of this overall expression is going to be five,

and that's what gets printed out.

So again, Python does the work of

computing the value of the expression that we're printing out,

and it prints out the value of the expression,

and not the expression itself.

So, you'll see when we are on our code that the first line prints out eight,

because that's the value of this expression,

the second line prints out five,

because that's the value of this expression.

The same thing goes when we're actually assigning variable values.

So, if we say Y equals 3.14,