# HG changeset patch # User Shantanu # Date 1272258124 -19800 # Node ID 587eb2416e6c58af8ea115f054b2bd6a382d4411 # Parent 84e1dcb52908c227f8130bb8557fd52d6623aaaf Added final strings.org. diff -r 84e1dcb52908 -r 587eb2416e6c presentations/numbers.tex --- a/presentations/numbers.tex Thu Apr 22 13:08:06 2010 +0530 +++ b/presentations/numbers.tex Mon Apr 26 10:32:04 2010 +0530 @@ -81,19 +81,6 @@ \end{block} \end{frame} -\begin{frame}[fragile] - \frametitle{Summary} - \begin{block}{} - \begin{itemize} - \item Creating string variables - \item Manipulating strings - \item I/O operations - \item Comments - \item Dynamically typed nature - \end{itemize} - \end{block} -\end{frame} - \begin{frame} \frametitle{Kinds of Data Types} \begin{block}{Numbers} diff -r 84e1dcb52908 -r 587eb2416e6c strings.org --- a/strings.org Thu Apr 22 13:08:06 2010 +0530 +++ b/strings.org Mon Apr 26 10:32:04 2010 +0530 @@ -17,162 +17,197 @@ ******* 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: + 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 = 'This is a string' - print a - type(a) shows it is 'str' - b = "This too!" - print b + 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' - 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. + 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. - c = '''This one too!''' - print c - d = """And one more.""" - print d + 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 - 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. + 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 - print a[0] gives us 'T' - print a[5] gives us 'i' which is 6th character. + 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 - 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. + 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. - The len function, which we used with lists and arrays, works with - strings too. - len(a) + 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 - 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 - + 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 - a.upper() returns a string with all letters capitalized. + 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. - and a.lower() returns a string with all smaller case letters. + please note that after all these operations, the original string is not changed. + and print a prints the original string - a.startswith('Thi') - returns True if the string starts with the argument passed. + 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 - similarly there's endswith - a.endswith('ING') + 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. - 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 + 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 - 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 * + 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 - 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) + 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. - 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 + 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. - 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. + 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!" - 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 - 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" + 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 introduction of Data types in - Python. In this tutorial we have learnt what are supported operations and - performing simple IO operations in Python. + 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