1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
* 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.
As, we have seen in previous tutorials, anything enclosed within
quotes is a string. For example -
a = 'This is a string'
print a
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, which we already saw, string elements can be accessed
with their indexes. The indexing here, also, begins from 0.
print a[0]
print a[5]
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 *
a + b
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.
'-'.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
* 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.
* 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 use
a variable that was of int type as a float or string.
a = 1
a = 1.1
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 data types,
supported operations and performing simple IO operations in Python.
*** Notes
|