diff -r be96dc6c9743 -r 68813d8d80fb basic-data-type/script.rst --- a/basic-data-type/script.rst Mon Nov 08 02:12:28 2010 +0530 +++ b/basic-data-type/script.rst Thu Nov 11 02:28:55 2010 +0530 @@ -16,8 +16,6 @@ External Reviewer : Checklist OK? : [2010-10-05] -.. #[Puneeth: Fill in pre-requisites.] - Hello friends and welcome to the tutorial on Basic Data types and operators in Python. @@ -27,7 +25,7 @@ In this tutorial, we shall look at - * Datatypes in Python +* Datatypes in Python * Numbers * Boolean * Sequence @@ -35,19 +33,15 @@ * Arithmetic Operators * Boolean Operators -* Manipulating Sequence datatypes - -.. #[Puneeth: Use double colon only for code blocks.] -.. #[Puneeth: include more details in the outline.] - -with a little hands-on on how they can be applied to the different data types. - - +* Python Sequence Data types + * list + * string + * tuple First we will explore python data structures in the domain of numbers. There are three built-in data types in python to represent numbers. -{{{ A slide to make a memory note of this }}} +{{{ A slide to make a memory note of the different datatypes }}} These are: @@ -55,12 +49,6 @@ * float * complex -.. #[Puneeth: Changed to int, float and complex.] - -.. #[Puneeth: Loss of consistency. You talk of built-in data types, but -.. then you were calling them integers, floats and complex. Clean up -.. required.] - Lets first talk about int. :: a = 13 @@ -75,38 +63,21 @@ type(a) -This means that a is a type of int. Being an int data structure in python -means that there are various functions that this variable has to manipulate -it different ways. You can explore these by doing, +This means that a is a type of int. There are lot of functions associated +with the int datatype, to manipulate it in different ways. These can be +explored by doing, :: a. -.. #[Puneeth: Why are we suddenly talking of limits? -.. Something like this would be better. -.. int data-type can hold integers of any size. for example - ] - -*int* datatype can hold integers of any size lets see this by example. +*int* datatype can hold integers of any size lets see this by an example. +:: b = 99999999999999999999 b As you can see even when we put a value of 9 repeated 20 times python did -not complain. However when you asked python to print the number again it -put a capital L at the end. Now if you check the type of this variable b, -:: - - type(b) - - - -The reason for this is that python recognizes large integer numbers by the -data type long. However long type and int type share there functions -and properties. - -.. #[Puneeth: again, the clean-up that I talked of above. Decide if you are -.. talking about the different type of numbers and the datatypes that are -.. used to represent them or if you are talking of the data-types and what -.. kind of numbers they represent. I think you should choose the former.] +not complain. This is because python's int data-type can hold integers of any +size. Let us now look at the float data-type. @@ -115,10 +86,10 @@ p = 3.141592 p -If you notice the value of output of p isn't exactly equal to p. This is -because computer saves floating point values in a specific format. There is -always an aproximationation. This is why we should never rely on equality -of floating point numbers in a program. +If you notice the value of output of ``p`` isn't exactly equal to ``p``. +This is because computer saves floating point values in a specific format. +There is always an approximation. This is why we should never rely on +equality of floating point numbers in a program. The last data type in the list is complex number :: @@ -126,7 +97,7 @@ as simple as that so essentialy its just a combination of two floats the imaginary part being defined by j notation instead of i. Complex numbers -have a lot of functions specific to them. Lets check these :: +have a lot of functions specific to them. Let us look at these :: c. @@ -142,8 +113,25 @@ abs(c) +Following is are exercises that you must do. -{{ Slide for memory aid }} +%% %% Find the absolute value of 3+4j +:: + + abs(3+4j) + +%% %% What is the datatype of number 999999999999999999? Is it +not int? +:: + + Long + Big integers are internally stored in python + as Long datatype. + +Please, pause the video here. Do the exercises and then continue. + + +{{ Slide for showing Boolean datatypes }} Python also has Boolean as a built-in type. @@ -163,10 +151,6 @@ The results are self explanatory. -.. #[Puneeth: Why does booleans bring us to precedence? I don't see the -.. connection. Am I missing something?] - - What if you want to apply one operator before another. Well you can use parenthesis for precedence. @@ -178,8 +162,6 @@ c=True -.. #[Puneeth: Consistency. In[]: is not present at other places.] - To check how precedence changes with parenthesis, we will try two expressions and their evaluation. @@ -199,14 +181,12 @@ Let's now look at some operators available in Python to manipulate these data types. -.. #[Puneeth: A mention of other operators would be good? Starting -.. with % and ** is a bit weird.] - Python uses '+' for addition :: 23 + 74 '-' for subtraction :: + 23 - 56 '*' for multiplication :: @@ -216,8 +196,16 @@ '/' for division :: 384/16 + 8/3 + 8.0/3 - '%' for modulo operation :: +When we did 8/3 the first case results in am integer +output as both the operands are integer however when +8.0/3 is used the answer is float as one of the operands is +float. + + +'%' for modulo operation :: 87 % 6 @@ -245,13 +233,27 @@ a=a/23 +Following is are exercises that you must do. + +%% %% Using python find sqaure root of 3? + +%% %% Is 3**1/2 and 3**0.5 same + +Please, pause the video here. Do the exercises and then continue. + +:: + + 3**0.5 + +:: + No,One gives an int answer and the other float + + Lets now discuss sequence data types in Python. Sequence data types are those in which elements are kept in a sequential order and all the -elements accessed using index numbers. +elements are accessed using index numbers. -.. #[Puneeth: fix the last sentence - it sounds incomplete] - -{{{ slide for memory aid }}} +{{{ slide introducing sequence datatype }}} The sequence datatypes in Python are :: @@ -277,8 +279,6 @@ var_list = [1, 1.2, [1,2]] var_list -.. #[Puneeth: some continuity, when jumping to strings?] - Lets look at another sequence data type, strings type :: @@ -288,7 +288,7 @@ greeting_string is now a string variable with the value "hello" -{{{ Memory Aid Slide }}} +{{{ All the different types of strings shown }}} Python strings can actually be defined in three different ways :: @@ -296,12 +296,8 @@ l="Let's see how to include a single quote" m='''"Let's see how to include both"''' -.. #[Puneeth: Contain's? That's not a word!] - As you can see, single quotes are used as delimiters usually. -.. #[Puneeth: Thus?] - When a string contains a single quote, double quotes are used as delimiters. When a string quote contains both single and double quotes, triple quotes are used as delimiters. @@ -365,17 +361,15 @@ max(num_tuple) min(greeting_string) -Get a sorted list and reversed list using sorted and reversed function :: +Get a sorted list :: sorted(num_list) - reversed(greeting_string) + -As a consequence of there order we can access a group of elements of sequence, -together. This is called slicing and striding. +As a consequence of their order, we can access a group of elements in a +sequence, together. This is called slicing and striding. -.. #[Puneeth: Fix the sentence above. ] - -First Slicing +First lets discuss Slicing, Given a list :: @@ -507,7 +501,31 @@ With this we come to the end of this tutorial . -In this tutorial we have discussed +Following is an (are) exercise(s) that you must do. + + + +%% %% Check if 3 is an element of the list [1,7,5,3,4]. In case +it is change it to 21. +:: + l=[1,7,5,3,4] + 3 in l + l[3]=21 + l + +%% %% Convert the string "Elizabeth is queen of england" to +"Elizabeth is queen" +:: + + s="Elizabeth is queen of england" + stemp=s.split() + ' '.join(stemp[:3]) + +Please, pause the video here. Do the exercise(s) and then continue. + + +This brings us to the end of the tutorial. In this tutorial we have +discussed 1. Number Datatypes , integer,float and complex 2. Boolean and datatype and operators @@ -517,16 +535,6 @@ 6. Finding length , sorting and reversing operations on sequences. 7. Immutability. - - - -.. #[Nishanth]: string to list is fine. But list to string can be left for - string manipulations. Just say it requires some string - manipulations and leave it there. - -.. #[Nishanth]: Where is the summary - There are no exercises in the script - {{{ Show the "sponsored by FOSSEE" slide }}} This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India