Difference between revisions of "Python/C4/Getting-started-with-functions/English-timed"
From Script | Spoken-Tutorial
(Created page with '{| border=1 !Visual Cue !Narration |- | 0:01 | Hello friends and welcome to the tutorial 'Getting started with functions'. |- | 0:05 | At the end of this tutorial, you will be …') |
|||
| Line 67: | Line 67: | ||
|- | |- | ||
|1:29 | |1:29 | ||
| − | |Star denotes | + | |Star denotes multiplication |
|- | |- | ||
| Line 88: | Line 88: | ||
|- | |- | ||
| 1:58 | | 1:58 | ||
| − | | We wrote two lines: The first line | + | | We wrote two lines: The first line def f of x is used to define the name and the parameters to the function, and the second line is used to fix what the function is supposed to return. |
|- | |- | ||
| 2:12 | | 2:12 | ||
| − | | | + | | def is a keyword and f is the name of the function and x the parameter of the function. |
|- | |- | ||
| Line 100: | Line 100: | ||
|- | |- | ||
| 2:24 | | 2:24 | ||
| − | | '''Write a python function named | + | | '''Write a python function named cube which computes the cube of''' a given number n. |
|- | |- | ||
| Line 133: | Line 133: | ||
|- | |- | ||
| 3:09 | | 3:09 | ||
| − | | let us define a new function called | + | | let us define a new function called greet which will print Hello World . |
|- | |- | ||
| Line 157: | Line 157: | ||
|- | |- | ||
| 3:53 | | 3:53 | ||
| − | | The function | + | | The function greet neither takes any argument nor returns any value. |
|- | |- | ||
| Line 169: | Line 169: | ||
|- | |- | ||
| 4:08 | | 4:08 | ||
| − | | Write a python function named | + | | Write a python function named avg which computes the average of a and b . |
|- | |- | ||
| Line 198: | Line 198: | ||
|- | |- | ||
| 4:56 | | 4:56 | ||
| − | | Thus if we want a function to accept more arguments, we just list them separated with a comma between the parenthesis after the function's name in the | + | | Thus if we want a function to accept more arguments, we just list them separated with a comma between the parenthesis after the function's name in the def line. |
|- | |- | ||
| Line 206: | Line 206: | ||
|- | |- | ||
| 5:19 | | 5:19 | ||
| − | | Let us modify the function | + | | Let us modify the function avg and add docstring to it. |
|- | |- | ||
| Line 269: | Line 269: | ||
|- | |- | ||
| 7:16 | | 7:16 | ||
| − | | Thus | + | | Thus doc string is a good way of documenting the function we write. |
|- | |- | ||
| Line 277: | Line 277: | ||
|- | |- | ||
| 7:29 | | 7:29 | ||
| − | | It does have a | + | | It does have a doc string associated with it. |
|- | |- | ||
|7:37 | |7:37 | ||
| − | |Sorry It | + | |Sorry It does not have a doc string associated with it. |
|- | |- | ||
| Line 293: | Line 293: | ||
|- | |- | ||
| 7:54 | | 7:54 | ||
| − | | Add | + | | Add doc string to the function f. |
|- | |- | ||
| 7:59 | | 7:59 | ||
| − | | We need to define the function again to add | + | | We need to define the function again to add doc string to the function f and we do it as, |
|- | |- | ||
| Line 321: | Line 321: | ||
|- | |- | ||
| 8:41 | | 8:41 | ||
| − | | '''Write a python function named | + | | '''Write a python function named circle which returns the''' area and perimeter of a circle given radius r . |
|- | |- | ||
| Line 355: | Line 355: | ||
|- | |- | ||
| 10:09 | | 10:09 | ||
| − | | Let us call the function | + | | Let us call the function circle as, |
|- | |- | ||
| Line 369: | Line 369: | ||
|- | |- | ||
| 10:46 | | 10:46 | ||
| − | | Pause here and try to figure out what the function | + | | Pause here and try to figure out what the function what does. |
|- | |- | ||
| Line 377: | Line 377: | ||
|- | |- | ||
| 10:58 | | 10:58 | ||
| − | | | + | | if n less than 0 colon n = -n while n greater than 0 colon |
|- | |- | ||
| Line 397: | Line 397: | ||
|- | |- | ||
| 11:23 | | 11:23 | ||
| − | | continue from paused state It will return true if | + | | continue from paused state It will return true if n modulo 2 is not equal to 1 and will return false, otherwise. |
|- | |- | ||
| 11:36 | | 11:36 | ||
| − | | The function here returns | + | | The function here returns True if all the digits of the number n are even, otherwise it returns False . |
|- | |- | ||
| Line 425: | Line 425: | ||
|- | |- | ||
| 12:40 | | 12:40 | ||
| − | | Pause here and try to figure out what the function | + | | Pause here and try to figure out what the function what does. |
|- | |- | ||
| Line 433: | Line 433: | ||
|- | |- | ||
| 12:52 | | 12:52 | ||
| − | | | + | | i = 1 while i star i les than n colon |
|- | |- | ||
| Line 453: | Line 453: | ||
|- | |- | ||
| 13:23 | | 13:23 | ||
| − | | Here, the function returns | + | | Here, the function returns True and the square root of n if n is a perfect square, otherwise it returns False and the square root of the next perfect square. |
|- | |- | ||
| Line 472: | Line 472: | ||
|- | |- | ||
| 14:17 | | 14:17 | ||
| − | | In this tutorial, we have learnt to, 1. Define functions in Python by using the keyword | + | | In this tutorial, we have learnt to, 1. Define functions in Python by using the keyword def . |
|- | |- | ||
| Line 480: | Line 480: | ||
|- | |- | ||
| 14:25 | | 14:25 | ||
| − | | 3. Assign a | + | | 3. Assign a doc string to a function by putting it as a triple quoted string. |
|- | |- | ||
| Line 516: | Line 516: | ||
|- | |- | ||
| 14:54 | | 14:54 | ||
| − | | Function doesn't have | + | | Function doesn't have doc string |
|- | |- | ||
Revision as of 16:13, 28 March 2013
| Visual Cue | Narration |
|---|---|
| 0:01 | Hello friends and welcome to the tutorial 'Getting started with functions'. |
| 0:05 | At the end of this tutorial, you will be able to,
|
| 0:16 | Before beginning this tutorial,we would suggest you to complete the tutorial on "Conditionals" and "Loops". |
| 0:22 | While writing code, we always want to reduce the number of lines of code, and functions is a way of reusing the code. |
| 0:32 | Thus the same lines of code can be used as many times as needed. |
| 0:35 | A function is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code. |
| 0:43 | Now let us get more familiar with functions, |
| 0:48 | Consider a mathematical function f of x = x square. |
| 0:53 | Here x is a variable and with different values of x the value of function will change. |
| 0:58 | When x is one, f(1) will return the value 1 and f(2) will return us the value 4. |
| 1:05 | Let us now see how to define the function f of x in python. |
| 1:10 | Start your ipython interpreter by typing,ipython in command line. |
| 1:17 | Let us define our function f of x |
| 1:19 | So type def f within bracket x colon
return x star x |
| 1:29 | Star denotes multiplication |
| 1:34 | Well that defined the function, so before learning what we did let us see if it returns the expected values, try, |
| 1:45 | f(1)
f(2) |
| 1:52 | Yes, it returned 1 and 4 respectively. |
| 1:55 | And now let us see what we did. |
| 1:58 | We wrote two lines: The first line def f of x is used to define the name and the parameters to the function, and the second line is used to fix what the function is supposed to return. |
| 2:12 | def is a keyword and f is the name of the function and x the parameter of the function. |
| 2:19 | Pause the video here, try out the following exercise and resume the video. |
| 2:24 | Write a python function named cube which computes the cube of a given number n. |
| 2:31 | Switch to your terminal for solution. |
| 2:33 | The problem can be solved as, |
| 2:36 | In the terminal type def cube within bracket n colon
return n star star 3 |
| 2:48 | Let us check whether our function returns the cube of a number or not |
| 2:53 | So type cube within bracket 2 and hit enter. |
| 3:00 | It returned 8,which means we have defined our function,the right way. |
| 3:05 | And now let us see how to write functions without arguments. |
| 3:09 | let us define a new function called greet which will print Hello World . |
| 3:15 | So type def greet() colon and hit enter. |
| 3:26 | Then type print in double quotes Hello World exclamation |
| 3:39 | now we call the function as,greet() and hit enter. |
| 3:45 | Well that is a function which takes no arguments. |
| 3:49 | Also note that it is not mandatory for a function to return values. |
| 3:53 | The function greet neither takes any argument nor returns any value. |
| 3:57 | Now let us see how to write functions with more than one argument. |
| 4:03 | Pause the video here, try out the following exercise and resume the video. |
| 4:08 | Write a python function named avg which computes the average of a and b . |
| 4:16 | Switch to your terminal for solution. |
| 4:19 | Type def avg within bracket a comma b colon
return within bracket a + b divided by 2 |
| 4:36 | For division we use slash. |
| 4:42 | Let us test our function, |
| 4:44 | Type on terminal avg within bracket 20 comma 30 and hit enter. |
| 4:53 | We get the correct average, 25. |
| 4:56 | Thus if we want a function to accept more arguments, we just list them separated with a comma between the parenthesis after the function's name in the def line. |
| 5:06 | It is always a good practice to document the code that we write, and for a function we define, we should write an abstract of what the function does, and that is called a docstring. |
| 5:19 | Let us modify the function avg and add docstring to it. |
| 5:24 | Do the following, |
| 5:25 | So now in the terminal type def avg within bracket a comma b colon |
| 5:38 | Then in triple double quote you can type avg takes two numbers as input (a & b), and returns the average of a and b |
| 5:50 | Then type return return within bracket a+b divided by 2 |
| 6:02 | Note that we have a syntax error. |
| 6:09 | The error that we saw here is because of indentation error in return(a+b)/2 |
| 6:15 | So just input that command again. |
| 6:25 | So type def avg within bracket a comma b colon
""" avg takes two numbers as input (a & b), and returns the average of a and b""" return within bracket a+b divided by 2 |
| 6:45 | Note that docstrings are entered in the immediate line after the function definition and put as a triple quoted string. |
| 6:55 | And here as far as the code functionality is concerned, we didn't do anything. |
| 7:00 | We just added an abstract of what the function does. |
| 7:03 | Now try this in the ipython interpreter. |
| 7:07 | Type avg and question mark. |
| 7:12 | It displays the docstring as we gave it. |
| 7:16 | Thus doc string is a good way of documenting the function we write. |
| 7:21 | Now type comma f question mark and hit enter. |
| 7:29 | It does have a doc string associated with it. |
| 7:37 | Sorry It does not have a doc string associated with it. |
| 7:40 | Also we cannot infer anything from the function name, and thus we are forced to read the code to understand about the function. |
| 7:48 | Pause the video here, try out the following exercise and resume the video. |
| 7:54 | Add doc string to the function f. |
| 7:59 | We need to define the function again to add doc string to the function f and we do it as, |
| 8:06 | def f within bracket x colon |
| 8:13 | """Accepts a number x as argument and, returns the square of the number x.""" |
| 8:24 | return x star x |
| 8:32 | Let us solve one more exercise |
| 8:34 | Pause the video here, try out the following exercise and resume the video. |
| 8:41 | Write a python function named circle which returns the area and perimeter of a circle given radius r . |
| 8:52 | Switch to the terminal for solution. |
| 8:57 | The problem requires us to return two values instead of one which we were doing till now. |
| 9:03 | We can solve the problem as, |
| 9:05 | So now we can type in terminal
def circle within bracket r colon """returns area and perimeter of a circle given radius r""" pi = 3.14 area = pi star r star r perimeter = 2 star pi star r return area comma perimeter and hit enter. |
| 10:04 | A python function can return any number of values. |
| 10:07 | There is no restriction for it. |
| 10:09 | Let us call the function circle as, |
| 10:12 | Typing it on terminal a comma p = circle within bracket 6
print a print p |
| 10:39 | Now we have done enough coding, let us do some code reading exercise, |
| 10:46 | Pause here and try to figure out what the function what does. |
| 10:54 | def what within bracket n colon |
| 10:58 | if n less than 0 colon n = -n while n greater than 0 colon |
| 11:08 | if n modulo 2 == 1 colon |
| 11:12 | return False |
| 11:14 | n slash = 10 |
| 11:19 | And the next line is return True |
| 11:23 | continue from paused state It will return true if n modulo 2 is not equal to 1 and will return false, otherwise. |
| 11:36 | The function here returns True if all the digits of the number n are even, otherwise it returns False . |
| 11:45 | Now one more code reading exercise, |
| 11:51 | So it is given def even underscore digits within bracket n colon
"""returns True if all the digits in the number n are even, returns False if all the digits in the number n are not even""" |
| 12:13 | Then next line if n less than 0 colon n = -n while n greater than 0 colon |
| 12:24 | The next line if n modulo 2 == 1 colon
return False n slash= 10 return True |
| 12:40 | Pause here and try to figure out what the function what does. |
| 12:48 | def what within bracket n colon |
| 12:52 | i = 1 while i star i les than n colon |
| 12:59 | i += 1 |
| 13:02 | return i star i == n comma i |
| 13:07 | continue from paused state The function returns two values. |
| 13:11 | One it returns the result of the while statement whether true of false, and second it prints the value that ii` currently holds. |
| 13:23 | Here, the function returns True and the square root of n if n is a perfect square, otherwise it returns False and the square root of the next perfect square. |
| 13:37 | So we look at that |
| 13:40 | def is underscore perfect underscore square within bracket n colon
"""returns True and square root of n, if n is a perfect square, otherwise returns False and the square root of the next perfect square""" i = 1 while i star i less than n colon i += 1 return i star i == n comma i |
| 14:14 | This brings us to the end of this tutorial. |
| 14:17 | In this tutorial, we have learnt to, 1. Define functions in Python by using the keyword def . |
| 14:22 | 2. Call the function by specifying the function name. |
| 14:25 | 3. Assign a doc string to a function by putting it as a triple quoted string. |
| 14:33 | 4. Pass parameters to a function. |
| 14:37 | 5. Return values from a function. |
| 14:39 | Here are some self assessment questions for you to solve |
| 14:42 | 1. What will the function do? |
| 14:46 | def what(x) |
| 14:48 | return x star x |
| 14:50 | Returns the square of x |
| 14:52 | Returns x |
| 14:54 | Function doesn't have doc string |
| 14:57 | Error |
| 14:59 | 1. How many arguments can be passed to a python function?
|
| 15:07 | 1. Write a function which calculates the area of a rectangle.
|
| 15:12 | And the answers, |
| 15:14 | 1.The function will result into an error due to the use of wrong syntax in defining the function. |
| 15:27 | The function line should always end with a colon |
| 15:32 | Any number of arguments can be passed to a python function. |
| 15:37 | As we know, area of a rectangle is product of it's length and breadth. |
| 15:41 | Hence, we define our function as, |
| 15:42 | def area within bracket l comma b colon |
| 15:47 | return l star b |
| 15:51 | Hope you have enjoyed this tutorial and found it useful. |
| 15:55 | Thank you! |