Python basics
This tutorial introduces the Python programming language, which is the language used for ChemShell input scripts. If you have never done any programming before, don’t worry! Python is very easy to learn.
Start by typing chemsh
to open an interactive ChemShell session. You will
see a banner with the version of ChemShell you are using and then a prompt:
>>>
The interactive mode of ChemShell is very similar to starting Python itself,
and any python commands can be typed at the prompt as well as those we
will see later that are specific to ChemShell. First, let’s try
the print()
function which outputs text to the display:
>>> print("Hello World!")
Hello World!
Like all programming languages, Python can store data in variables, which
can be thought of as labelled containers for information. Values can be assigned
to variables using an equals sign =
. Variables can contain numbers, text,
and many other types of information. The value of a variable can be accessed
using the print function:
>>> a = 1
>>> b = "World!"
>>> print("a =", a)
a = 1
>>> print("Hello", b)
Hello World!
The equals sign can also be used to set one variable to the value of another:
>>> a = 3
>>> b = a
>>> print("a =", a, "and b =", b)
a = 3 and b = 3
Arithmetic operations use the symbols +
for addition, -
for
subtraction, *
for multiplication and /
for division:
>>> x = (6 * 4) - 3
>>> print(x)
21
Another important concept in Python is the list, which are created using square brackets:
>>> c = [1, 2, 3]
>>> print("c =", c)
c = [1, 2, 3]
>>> len(c)
3
The function len()
counts the number of items in the list. You can
access individual items in a list using an index number in square brackets.
It’s important to remember that python lists count from zero:
>>> c[0]
1
>>> c[1]
2
>>> c[2]
3
Simple lists can be generated using the range()
function:
>>> a = range(3)
>>> a[0]
0
>>> a[1]
1
>>> a[2]
2
You can loop over lists using the for
statement:
>>> a = range(3)
>>> for i in a:
... print(i)
...
0
1
2
(Note that indentation is important for the commands that follow the
for
statement. Python
uses indentation to indicate that these commands are part of the loop).
Python has another data structure called the dictionary, which consists of key/value pairs. Dictionaries can be defined using curly brackets:
>>> d = { "apple":"green", "banana":"yellow" }
>>> d["apple"]
'green'
>>> d["banana"]
'yellow'
A list of all keys in the dictionary can be printed with the keys()
function:
>>> d.keys()
dict_keys(['apple', 'banana'])
You can test for conditions using the if
and else
statements:
>>> c = 99
>>> if c < 40:
... print("c is lower than 40")
... else:
... print("c is higher than 40")
...
c is higher than 40