Added dictionary.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 this tuotrial we shall use concepts of writing python scripts and
basics of lists that have been covered in previous session
Lets get started by opening ipython interpreter.
We shall create some
a string by typing
a = open single quote 'This is a string' close single quote
print a
a contains the string
we can check for datatype of a by using type(a) and shows it is 'str'
consider the case when string contains single quote.
for example I'll be back
to store these kind of strings, we use double quotes
type
b = open double quote "I'll be back" close double quote
print b ptints the value
IN python, anything enlosed in quotes is a string. Does not matter
if they are single quotes or double quotes.
There is
also a special type of string enclosed in triple single quotes or triple double
quotes.
so when you do
c = '''Iam also a string'''
print c
and c is also string variable
and even
d = """And one more."""
print d
d is also a string
These strings enclosed in triple quotes are special type of strings, called docstrings, and they shall
be discussed in detail along with functions
We know elements in lists and arrays can be accessed with indices.
similarly string elements
can also be accessed with their indexes. and here also, indexing starts from 0
so
print a[0] gives us 'T' which is the first character
print a[5] gives us 'i' which is 6th character.
The len function, which we used with lists and arrays, works with
strings too.
len(a) gives us the length of string a
Python's strings support the + and * operations
+ concatenates two strings.
so a + b gives us the two srtings concatenated
and * is used for replicating a string for given number of times.
so a * 4 gives us a replicated 4 times
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, which means when yo do
a[0] = 't'it throws an error
Then how does one go about doing strings manipulations. 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.
there are many other methods available and we shall use Ipython auto suggestion feature to find out
type a. and hit tab
we can see there are many methods available in python for string manipulation
lets us try startswith
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.
please note that after all these operations, the original string is not changed.
and print a prints the original string
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
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 *
we have seen how to output data
Now we shall look at taking input from the console.
The raw_input function allows us to take input from the console.
type a = raw_input() and hit enter
now python is waiting for input
type 5 and hit enter
we can check for the value of a by typing print a and we see that it is 5
raw_input also allows us to give a prompt string.
we type
a = raw_input("Enter a value: ")
and we see that the string given as argument is prompted at the user.
5
Note that a, is now a string variable and not an integer.
type(a)
raw_input takes input only as a string
we cannot do mathematical operations on it
but we can use type conversion similar to that shown in previous tutorial
b = int(a)
a has now been converted to an integer and stored in b
type(b) gives int
b can be used here for mathematical operations.
For console output, we have been using print which is pretty straightforward.
We shall look at a subtle feature of the print statement.
Open scite editor and type
print "Hello"
print "World"
We save the file as hello1.py run it from the ipython interpreter. Make
sure you navigate to the place, where you have saved it.
%run 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 hello2.py
Note the difference in the output.
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 and here a is integer
lets store a float value in a by doing
a = 1.1
and print a
now a is 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
pritn a and we see that comment is not a part of variable a
a = "# not a comment"
we come to the end of this tutorial on strings
In this tutorial we have learnt what are supported operations on strings
and how to perform simple Input and Output operations in Python.
*** Notes