Python/C3/Basic-datatypes-and-operators/English-timed

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:00 Hello friends and welcome to the tutorial on 'Basic Data types and operators' in Python.
00:07 At the end of this tutorial, you will be able to, Know the Datatypes in Python

Numbers, Boolean, Sequence, Learn about the Operators in Python

Arithmetic Operators, Boolean Operators, Know the Python Sequence Data types

list, string, tuple

00:28 First we will explore python data structures in the domain of numbers.
00:34 There are three built-in data types in python to represent numbers.
00:38 These are: int,float, complex
00:43 Let us first invoke our ipython interpreter
00:48 So type ipython in your command and hit enter
00:52 Lets first talk about int.
00:54 So type a=13
01:00 Then type a and you can see the output.
01:03 Now, we have our first int variable a.
01:07 If we now see Type command type within brackets a then we see the output int
01:17 This means that 'a' is a type of int.
01:22 There are lot of functions associated with the int datatype, to manipulate it in different ways.
01:30 These can be explored by doing, a dot tab
01:40 int datatype can hold integers of any size lets see this by an example.
01:48 So type b= couple of 9 or some data, then type b and you can see the output.
02:02 As you can see, even when we put a value of 9 repeated 20 times, python did not complain.
02:12 This is because python's int data-type can hold integers of any size.
02:17 Let us now look at the float data-type.
02:21 Decimal numbers in python are represented by the float data-type
02:25 So type p = 3 point 141592,then type p.
02:41 Then if you notice the value of output of p isn't exactly equal to p.
02:48 This is because computer saves floating point values in a specific format.
02:54 There is always an approximation.
02:57 This is why we should never rely on equality of floating point numbers in a program.
03:05 The last data type in the list is complex number
03:09 So type c = 3 point 2 plus 4 point 6j
03:18 it's just a combination of two floats the imaginary part being defined by j notation instead of i.
03:25 Complex numbers have a lot of functions specific to them.
03:29 Let us look at these
03:31 So type c dot tab, so can get the output.
03:37 So let's try some of them c.real then c.imag
03:49 c.real gives the real part of the number and c.imag the imaginary.
03:56 We can get the absolute value using the function abs within bracket c
04:06 Now pause the video here, and try out the following exercise and resume the video.
04:15 Find the absolute value of 3+4j Switch to terminal for solution
04:27 So type abs within bracket 3+4j
04:34 Thus we get the absolute value of the expression.
04:37 Let us do 1 more exercise of a similar type.
04:39 Pause the video here, and try out the following exercise and resume the video.
04:45 What is the data type of number 29 that is a couple of 999999999999999999? after 20 So Is it not int?
05:00 The solution is on your screen.
05:02 The data type of this number is long though it is an integer.
05:07 But big integers are internally stored in python as Long data type.
05:13 Python also has Boolean as a built-in type.
05:18 To Try it out, just type in the terminal t=True.
05:28 note that T in true is capitalized.
05:34 You can apply different Boolean operations on t now for example
05:40 Try out f = not t enter

f f or t f and t

05:59 The results are self explanatory.
06:01 What if you want to apply one operator before another.
06:05 Well you can use parenthesis for precedence.
06:10 Lets write some piece of code to check this out.
06:13 So type a =False

b=True c=True

06:24 To check how precedence changes with parenthesis, we will try two expressions and their evaluation.
06:33 The first one within bracket a and b or c then hit enter
06:44 This expression gives the value True where as the expression a and within brackets b or c
07:01 and that gives the value False.
07:04 Let's now look at some operators available in Python to manipulate these data types.
07:09 Python uses 'plus' sign for addition
07:13 So type 23 + 74 you can see the added value
07:19 And 'minus' sign for subtraction
07:24 23 - 56
07:27 '*' (star) sign for multiplication
07:33 '/'(back slash) for division
07:37 For example we can try out 384 by 16

8 by 3 and for the decimal one we can try 8 point 0 by 3.

07:57 Note that, when we did 8/3 the first case results in an integer output as both the operands are integer however when 8 point 0/3 is used the answer is float as one of the operands is float.
08:16 Let us move ahead with the operators. '%' (percentage) sign for modulo operation
08:23 So type 87 modulo 6 and hit enter
08:29 and two stars for a exponent.
08:32 So type 7 star star 8 and hit enter
08:38 It is said one wishes to use the current value of variable in which the result is stored in the expression, one can do that by putting the operator before equal to.
08:49 So you can say a=73 a star=34
08:59 The above expression is same as, you can try out by typing a=a star 34 and hit enter
09:12 and a backslash =23
09:21 Pause the video here, and try out the following exercise and resume the video.
09:25 Using python find the square root of 3.
09:29 The solution is on your screen.
09:33 3 star star 0.5 gives the square root of 3.
09:39 Now, ls 3 star star 1 slash 2 and 3 star star 0 point 5 same?
09:54 Now switch to terminal.
09:57 And let us try both these operations.
10:00 So type 3 star star 0 point 5 and hit enter 3 star star 1 slash 2 and hit enter
10:15 As you can see,the first operation gives an integer, whereas the second one gives a float.
10:19 Hence,though both mean the same,they give different outputs.
10:24 Let us now discuss sequence data types in Python.
10:27 Sequence data types are those in which elements are kept in a sequential order and all the elements are accessed using index numbers.
10:38 The sequence data types in Python are list, string, tuple
10:43 The list type is a container that holds a number of other objects, in the given order.
10:51 We create our first list by typing
10:55 So type num underscore list = within square bracket 1 comma 2 comma 3 comma 4 num underscore list
11:08 Items enclosed in square brackets separated by comma constitutes a list.
11:14 Lists can store data of any type in them.
11:18 We have a list something like var underscore list = within square bracket 1 comma 1 point 2 comma then again within square bracket 1 comma 2 var underscore list
11:45 Lets look at another sequence data type, strings
11:49 So you can type greeting underscore string= within double quotes hello
12:01 greeting_string is now a string variable with the value "hello"
12:07 Python strings can actually be defined in three different ways
12:12 k= single quote write Single quote

l=Let's see how to include a single quote m=within three single quotes and in double quotes Let's see how to include both

12:34 As you can see, single quotes are used as delimiters usually.
12:38 When a string contains a single quote, double quotes are used as delimiters.
12:44 When a string quote contains both single and double quotes, triple quotes are used as delimiters.
12:55 The last in the list of sequence data types is tuple.
12:59 To create a tuple we use normal brackets '(' unlike square bracket '[' for lists.
13:07 So you can type num underscore tuple = within bracket 1 to 8 separated by comma
13:18 Because of their sequential property there are certain functions and operations we can apply to all of them.
13:25 The first one is accessing.
13:28 They can be using index numbers.
13:31 So type in terminal num underscore list within square bracket 2

num underscore list within square bracket -1, greeting underscore string within bracket 1

greeting underscore string within square bracket 3, greeting underscore string within square bracket -2

num underscore tuple within square bracket 2,num underscore tuple within square bracket -3

14:08 Indexing starts from 0, from left to right and from -1 when accessing lists in reverse.
14:14 Thus num underscore list[2] refers to the third element 3. and greetings [-2] is the second element from the end , that is 'l'.
14:26 Addition gives a new sequence containing both sequences
14:30 So type num underscore list + var underscore list in terminal.

Then a underscore string= and in double quote another string greeting underscore string+a underscore string

t2= 3 4 6 7 separated by comma in bracket num underscore tuple+t2

15:17 len function gives the length
15:20 So you can type len within bracket num underscore list

len within bracket greeting underscore string len within bracket num underscore tuple

15:43 We can check the container ship of an element using the 'in' keyword
15:50 So you can type in terminal and check so that you can see the difference.So type

3 in num underscore list Then type in single quotes 'H' in greeting underscore string 2 in num underscore tuple

16:15 We see that it gives True and False accordingly.
16:18 Find maximum using max function and minimum using min
16:23 Check that by typing in terminal max within bracket num underscore tuple

min within bracket greeting underscore string

16:39 Get a sorted list
16:42 So you can type sorted within bracket num underscore list
16:50 As a consequence of their order, we can access a group of elements in a sequence, together.
16:57 This is called slicing and striding.
17:00 First lets discuss Slicing,
17:02 Given a list j= within square bracket 1 to 6
17:09 Lets say we want elements starting from 2 and ending in 5.
17:14 For this we can do j within square bracket 1 colon 4
17:24 The syntax for slicing is, sequence variable name, square bracket, first element index, colon, second element index.
17:36 The first element however is not included in the resultant list
17:39 So you can type j within square bracket colon 4
17:49 If first element is left blank default is from beginning and if last element is left blank it means till the end.
18:14 So you can type under the terminal

j within square bracket 1 colon j within bracket colon

18:30 This effectively is the whole list.
18:33 Striding is similar to slicing except that the step size here is not one.
18:39 So let us see an example
18:41 So type new underscore num underscore list=1 to 10 separated by commas in square bracket new underscore num underscore list within square bracket 1 colon 8 colon 2 then on the other line within square bracket 2 4 6 8 separated by commas that will be the output.
19:07 The, colon two, added in the end signifies all the alternate elements.
19:15 This is why we call this concept striding because we move through the list with a particular stride or step.
19:23 The step in this example being 2.
19:25 We have talked about many similar features of lists, strings and tuples.
19:32 But there are many important features in lists that differ from strings and tuples.
19:37 Lets see this by example.
19:40 Type new underscore num underscore list within square bracket[1]=9

greeting underscore string within square bracket 1 =within single quote k

19:59 We can see an error
20:03 As you can see while the first command executes with out a problem there is an error on the second one.
20:10 Now lets try new underscore tuple within square bracket 1=5
20:19 Its showing the same error.
20:23 This is because strings and tuples share the property of being immutable.
20:28 We cannot change the value at a particular index just by assigning a new value at that position.
20:34 We have looked at different types but we need to convert one data type into another.
20:39 Well lets one by one go through methods by which we can convert one data type to other
20:45 So type i=34

d=float within bracket i So type d

21:00 Python has built in functions int, float and complex to convert one number type data structure to another.
21:08 So type dec=2.34

dec underscore con=int(dec)

dec underscore con

21:29 As you can see the decimal part of the number is simply stripped to get the integer.
21:35 So type com=2.3+4.2j float within bracket com
21:56 So here we are getting another error
22:05 So here the error can be solved by your side.
22:10 Similarly we can convert list to tuple and tuple to list.
22:15 For that type lst= 3 4 5 6 separated by comma

tup=tuple within bracket lst Then type lst

Then type tupl=3 comma 23 comma 4 comma 56 in bracket lst=list within bracket tuple

Then type tuple

22:54 However converting a string to a list and a list to a string is an interesting problem.
22:59 Let's say we have a string some string= within double quote Is there a way to split on these spaces. some string.split() function, so it will spilt.Hit by command.
23:28 This produces a list with the string split at white space.
23:33 Similarly we can split on some other character.
22:37 So you can type other string=within double quote Tim comma Amy comma Stewy comma Boss
23:48 How do we split on comma , simply pass it as argument
23:56 So you can type on the terminal other string.split within bracket comma in single quote and hit enter
24:06 join function does the opposite.
24:10 Joins a list to make a string.
24:14 So you can type l1=within square bracket List comma joined comma on comma commas,all are in single quote

Then type , within single quote comma .join within bracket l1

25:02 Thus we get a list joined on commas.
25:05 Similarly we can do spaces.
25:07 So you can type l2=Within square brackets in single quote Now comma on comma spaces. And we can type in single quote space.join within bracket l2, so you will get out put.
25:27 Note that the list has to be a list of strings to apply join operation.
25:32 Pause the video here, try out the following exercise and resume the video.
25:38 Check if 3 is an element of the list [1 comma 7 comma 5 comma 3 comma 4]. In case it is change it to 21.
25:56 Switch to the terminal for solution
26:00 Type l=[1 comma 7 comma 5 comma 3 comma 4

3 in l l in square bracket 3=21 l

26:22 Let us solve one more exercise.
26:24 Pause the video here, do the exercise and resume the video.
26:31 Convert the string "Elizabeth is queen of England" to "Elizabeth is queen"
26:39 Switch to the terminal for solution.
26:43 So s=Elizabeth is queen of England in double quotes

stemp=s.split() within single quote space.join within bracket stemp within square bracket colon 3 and hit enter

27:07 As you can see, we have easily removed the unwanted words.
27:11 This brings us to the end of the tutorial.
27:14 In this tutorial, we have learnt to, 1. Understand the number Data types -- integer,float and complex.
27:21 2. Know the boolean data type and operators +, backslash, percent that is modulo and * for multiplication .
27:33 3. use the sequence data types -- List,String and Tuple.
27:36 4. Slice sequences by using the row and column numbers.
27:41 5. Split and join a list using split() and join() function respectively.
27:49 6. Convert to string to tuple and vice-versa.
27:54 Here are some self assessment questions for you to solve
27:58 1. What is the major difference between tuples and lists?
28:02 2. Split this string on white spaces
28:05 string="Split this string on white spaces"
28:09 And the answers,
28:12 1. The major difference between tuples and lists is that Tuples are immutable while lists are not.
28:20 2. To split the string on white space, we use the function `` split`` without any argument
28:26 string.split() function
28:29 Hope you have enjoyed this tutorial and found it useful.
28:34 Thank You.

Contributors and Content Editors

Gaurav, Minal, PoojaMoolya, Sneha