Tuples and strings
Python has two different more list-like data types that are very important to understand.A tuple is a structure that is like a list, but is not mutable. You can create fresh tuples, but you cannot modify the contents of a tuple or add components to it. A tuple is typically given like a list, but with round brackets instead of square ones:
>>> a = (1, 2, 3)
In fact, it is the commas and not the parentheses that matter here. So, you may write
>>> a = 1, 2, 3
>>> a
(1, 2, 3)
and still get a tuple. The only tricky thing about tuples is making a tuple with a one component. We could try
>>> a = (1)
>>> a
1
but it does not work, because in the expression (1) the parentheses are playing the standard grouping role (and, in fact, because parentheses do not create tuples). So, to create a tuple with a single component, we have to use a comma:
>>> a = 1,
>>> a
(1,)
Tuples will be very important in case where we are using structured objects as 'keys', that is, to index into another data structure, and where inconsistencies would occur if those keys could be changed.
An important special kind of tuple is a character. A string may almost be thought of as a tuple of characters. The information of what constitutes a character and how they are encoded is hard, because modern string sets add characters from nearly all the world's languages. We will take characters we may type easily on our keyboards. In Python, you may type a string with either single or double quotes: 'abc' or "abc". You can choose parts of it as you have a list:
>>> s = 'abc'
>>> s[0]
'a'
>>> s[-1]
'c'
The strange thing about this is that s is a string, and because Python has no common data type to show a single character, s[0] is also a string.
We will frequently use + to concatenate two existing strings to make a new one:
>>> to = 'Jody'
>>> fromP = 'Robin'
>>> letter = 'Dear ' + to + ",\n It's over.\n" + fromP
>>> print letter
Dear Jody,
It's over.
Robin
As well as using + to concatenate strings, this code explains several other small but important points:
- You may put a single quote under a string that is delimited by double-quote characters (and vice versa).
- If you want a new line in your string, you can write \n. Or, if you delimit your string with a triple quote, it can take over multiple lines.
- The print statement can be used to print out results in your program.
- Python, like most other programming languages, has some reserved keywords that have special function and cannot be used as variables. In that type, we needed to use from, but that has a unique meaning to Python, so we needed fromP instead.