Innings2
Powered by Innings 2

Glossary

Select one of the keywords on the left…

Python Advanced > Editors

Editors

Henceforth, the standard procedure to save and run a Python program is as follows:

For PyCharm

  1. Open PyCharm.
  2. Create new file with the filename mentioned.
  3. Type the program code given in the example.
  4. Right-click and run the current file.

NOTE: Whenever you have to provide command line arguments, click on Run -> EditConfigurations and type the arguments in the Scriptparameters: section and click the OK button:

For other editors

  1. Open your editor of choice.
  2. Type the program code given in the example.
  3. Save it as a file with the filename mentioned.
  4. Run the interpreter with the command pythonprogram.py to run the program.

Example: Using Variables And Literal Constants

Type and run the following program:

# Filename : var.py
i = 5
print(i)
i = i + 1
print(i)

s = '''This is a multi-line string.
This is the second line.'''
print(s)

What will be the value of i after i=i+1?

Output will be:

This is a multi-line string. This is the second line.

How It Works

Here's how this program works. First, we assign the literal constant value 5 to the variable i using the assignment operator (=). This line is called a statement because it states that something should be done and in this case, we connect the variable name i to the value 5. Next, we print the value of i using the 'print' statement which, unsurprisingly, just prints the value of the variable to the screen.

Then we add 1 to the value stored in i and store it back. We then print it and expectedly, we get the value 6.

Similarly, we assign the literal string to the variable s and then print it.

Logical And Physical Line

A physical line is what you see when you write the program. A logical line is what Python sees as a single statement. Python implicitly assumes that each physical line corresponds to a logical line.

An example of a logical line is a statement like print('hello world') - if this was on a line by itself (as you see it in an editor), then this also corresponds to a physical line.

Implicitly, Python encourages the use of a single statement per line which makes code more readable.

If you want to specify more than one logical line on a single physical line, then you have to explicitly specify this using a semicolon (';') which indicates the end of a logical line/statement. For example:

i = 5
print(i)

is effectively same as

i = 5;
print(i);

which is also same as

i = 5; print(i);

and same as

i = 5; print(i)

However, we strongly recommend that you stick to writing a maximum of a single logical line on each single physical line. The idea is that you should never use the semicolon. In fact, I have never used or even seen a semicolon in a Python program.

There is one kind of situation where this concept is really useful: if you have a long line of code, you can break it into multiple physical lines by using the backslash. This is referred to as explicit line joining:

s = 'This is a string. \
This continues the string.'
print(s)

Output:

is a string. This continues the string.

Similarly,

i = \
5

is the same as

i = 5

Sometimes, there is an implicit assumption where you don't need to use a backslash. This is the case where the logical line has a starting parentheses, starting square brackets or a starting curly braces but not an ending one. This is called implicit line joining. You can see this in action when we write programs using list in later chapters.

Which of these is the recommended way to write multiple statements?

What will this code print?

s = 'This is a string. \
This continues the string.'

Indentation

Whitespace is important in Python. Actually, whitespace at the beginning of the line is important. This is called indentation. Leading whitespace (spaces and tabs) at the beginning of the logical line is used to determine the indentation level of the logical line, which in turn is used to determine the grouping of statements.

This means that statements which go together must have the same indentation. Each such set of statements is called a block. We will see examples of how blocks are important in later chapters.

One thing you should remember is that wrong indentation can give rise to errors. For example:

 
i = 5

print('Value is', i) print('I repeat, the value is', i)

When you run this, you get the following error:


File "whitespace.py", line 3
print('Value is', i)
    ^
IndentationError: unexpected indent

Notice that there is a single space at the beginning of the second line. The error indicated by Python tells us that the syntax of the program is invalid i.e. the program was not properly written. What this means to you is that you cannot arbitrarily start new blocks of statements (except for the default main block which you have been using all along, of course). Cases where you can use new blocks will be detailed in later chapters such as the control flow.

What will happen with this code?

i = 5
 print(i)  # One space before print

Write a correctly indented if statement. Enter the correct number of spaces and hit enter:

if x > 0:

print("Positive")

Complete this statement about Python blocks:

Statements that go together must have the same level.

Summary

Now that we have gone through many nitty-gritty details, we can move on to more interesting stuff such as control flow statements. Be sure to become comfortable with what you have read in this chapter.