Introduction to Python
The metabolic modelling we will be using, ScrumPy, is written in Python. Python is a high-level, object-oriented, interpreted programming language, it has a large standard library, and supports multiple programming paradigms. It is also syntactically clear and easy to learn. This is a very brief introduction to some of the basic features of the language, for a more complete introduction to the topic, see Lutz & Ascher, "Learning Python" O'Reilly Media inc. (Edition 2 or greater). A good source of Python documentation can be found here.
Getting started
We will be using Python from the ScrumPy environment. To start a new ScrumPy session open a terminal and type "ScrumPy":
user@machine:~$ ScrumPy &
which will launch the ScrumPy window.
Data types
Numbers
The numerical types we will be dealing with are integers, int, and floating-point numbers float. Integers are written as a sequence of digits. Floats are written as digits with a decimal point in the sequence, and an optional exponent (e or E).
>>> n_int = 135 >>> n_int 135 >>> n_float = 10e-10 >>> n_float 1.0000e-9
The type of a given data object can be checked using the built-in function type().
>>> type(n_int) <type 'int'> >>>type(n_float) <type 'float'>
Floats and integers can be interconverted using the constructors int() or float().
>>> n_int2float=float(n_int) >>> n_int2float 135.0 >>> type(n_int2float) <type 'float'> #n_int is still an integer
The common matematical operators (+,-,/,*) work as expected, note that x**y means xy.
Boolean
Booleans are a subtype of integers. A boolean type is either True or False, and can be very useful when writing conditional statements, i.e. if something is True, do something. Also, the integer 0 is False.
>>> val=True >>> if val: print 'val is true' val is true >>> val=False >>> if val: print 'val is true' >>>
Strings
Strings are collections of characters. Characters in a string can be accessed by indexing, and membership of a subset of characters in a string can be evaluated.
>>> s_1 = 'another string' #create string >>> s_2 = s_1[:7] #create new string of characters 0 to 7 in s_1 >>> s_2 'another' >>> if s_2 in s_1: #check for membership of s_2 in s_1 print 'true' true >>> type(s_1) <type 'str'> >>> str(n_int) '135'
Lists (and tuples)
Lists and tuples are collections of objects. The main difference between the two is that tuples are immutable - once a tuple is created it cannot be changed, whereas lists can. For these excercises we will only use lists. An empty list can be created by assigning a pair of closed square brackets to a variable.
>>> empyt_list=[]
Dictionaries
Modules
Objects