changes to numbers org file.
* Strings
*** Outline
***** Strings
******* basic manipulation
******* operations
******* immutability
******* string methods
******* split and join
******* formatting - printf style
***** Simple IO
******* raw_input
******* console output
***** Odds and Ends
******* dynamic typing
******* comments
***** Arsenal Required
******* lists
******* writing to files
*** Script
Welcome friends.
In the previous tutorial we have looked at data types for dealing
with numbers. In this tutorial we shall look at strings. We shall
look at how to do elementary string manipulation, and simple input
and output operations.
In Python anything enclosed within quotes is a string. Lets get
started by starting ipython interpreter. We shall create some
string variables by:
a = 'This is a string'
print a
type(a) shows it is 'str'
b = "This too!"
print b
They could either be enclosed in single or double quotes. There is
also a special type of string enclosed in triple single or double
quotes.
c = '''This one too!'''
print c
d = """And one more."""
print d
These are special type of strings, called docstrings, which shall
be discussed along with functions.
Like lists and arrays, which we have already seen, string elements
can also be accessed with their indexes. The indexing here, also,
begins from 0.
print a[0] gives us 'T'
print a[5] gives us 'i' which is 6th character.
To access the last element, we can use -1 as the index!
print a[-1]
Similarly, we could access other elements with corresponding -ve
indexes. This is a very handy feature of python.
The len function, which we used with lists and arrays, works with
strings too.
len(a)
Python's strings support the operations + and *
+ concatenates two strings.
a + b
and * is used for replicating a string for given number of times.
a * 4
What do you think would happen when you do a * a?
It's obviously an error since, it doesn't make any logical sense.
One thing to note about strings, is that they are immutable, that
is
a[0] = 't'
throws an error
Then how does one go about changing strings? Python provides
'methods' for doing various manipulations on strings. For example -
a.upper() returns a string with all letters capitalized.
and a.lower() returns a string with all smaller case letters.
a.startswith('Thi')
returns True if the string starts with the argument passed.
similarly there's endswith
a.endswith('ING')
We've seen the use of split function in the previous
tutorials. split returns a list after splitting the string on the
given argument.
alist = a.split()
will give list with four elements.
print alist
Python also has a 'join' function, which does the opposite of what
split does.
' '.join(alist) will return the original string a.
This function takes list of elements(in our case alist) to be joined.
'-'.join(alist) will return a string with the spaces in the string
'a' replaced with hyphens.
At times we want our output or message in a particular
format with variables embedded, something like printf in C. For
those situations python provides a provision. First lets create some
variables say
* formatting - printf style *
In []: x, y = 1, 1.234
In []: print 'x is %s, y is %s' %(x, y)
Out[]: 'x is 1, y is 1.234'
Here %s means string, you can also try %d or %f for integer and
float values respectively.
* formatting - printf style *
Now we shall look at simple input from and output to the
console.
The raw_input function allows us to give input from the console.
a = raw_input()
it is now waiting for the user input.
5
a
raw_input also allows us to give a prompt string, as shown
a = raw_input("Enter a value: ")
Enter a value: 5
Note that a, is now a string variable and not an integer.
type(a)
we could use type conversion similar to that shown in the tutorial
on numeric datatypes.
a = int(a)
a has now been converted to an integer.
type(a)
For console output, we use print which is pretty straightforward.
We shall look at a subtle feature of the print statement.
We shall first put the following code snippet in the file
"hello1.py"
print "Hello"
print "World"
We save the file and run it from the ipython interpreter. Make
sure you navigate to the place, where you have saved it.
%run -i hello1.py
Now we make a small change to the code snippet and save it in the
file named "hello2.py"
print "Hello",
print "World"
We now run this file, from the ipython interpreter.
%run -i hello2.py
Note the difference in the output of the two files that we
executed. The comma adds a space at the end of the line, instead
of a new line character that is normally added.
Before we wind up, a couple of miscellaneous things.
As you may have already noticed, Python is a dynamically typed
language, that is you don't have to specify the type of a variable
when using a new one. You don't have to do anything special, to 'reuse'
a variable that was of int type as a float or string.
a = 1 here a is integer
a = 1.1 now a float
a = "Now I am a string!"
Comments in Python start with a pound or hash sign. Anything after
a #, until the end of the line is considered a comment, except of
course, if the hash is in a string.
a = 1 # in-line comments
# a comment line
a = "# not a comment"
we come to the end of this tutorial on strings introduction of Data types in
Python. In this tutorial we have learnt what are supported operations and
performing simple IO operations in Python.
*** Notes