Presentation is loading. Please wait.

Presentation is loading. Please wait.

Functions Victor Norman CS104 Calvin College. Reading Quiz Counts toward your grade.

Similar presentations


Presentation on theme: "Functions Victor Norman CS104 Calvin College. Reading Quiz Counts toward your grade."— Presentation transcript:

1 Functions Victor Norman CS104 Calvin College

2 Reading Quiz Counts toward your grade.

3 Function Def’n vs. Call Definition: def funcname(param_names): statements to execute when funcname is called Call: y = int(input(“Enter your age: “)) result = funcname(y) – How many function calls in this code? Call must provide the same # of values as the function definition requires.

4 Function Defn is an Abstraction A function abstracts and names lines of code. – can be called repeatedly – can take arguments. Consider: y = sin(x). Takes a value x, runs the sin function on it, producing a result that y is made to refer to.

5 Non-fruitful Functions Non-fruitful functions produce no value for the caller. – Just execute their statements – Not useful unless they do something like print something or make the robot move, etc. – Useful for turtle graphics. E.g., def drawSquare(size): code here to draw a square of size. Returns nothing.

6 Fruitful Function Computes a value and returns it to the caller. def squared(val): newval = val * val return newval Return sends value back to the caller and exits the code in the function. Function will exit the code anyway at the end of the function.

7 Mistakes CS104ers Make Provide literals as parameters in function definition: def xyz(p1, “hello”): # code here Ignoring the parameter value. def xyz(p1): p1 = 3 # code here using p1

8 Clicker Questions Given this code: 1 def foo(x): 2 return x + 1 3def bar(x, y): 4 t = foo(x) 5 return t + y 6def baz(z): 7 t = bar(z, z) 8 return foo(t) 9n = 3 10res = baz(n) 11print(res)

9 Parameters and Local Variables Parameters hold the *values* being passed in in the function call. Both are defined only within the code of the function. – That is their scope or lifetime. They can be altered within the code. Can think of them as "temporary variables" -- places to hold values while you work on computing the result or doing the work.

10 Return Statement Computes the result to be sent back to the caller. Exits the code in the function, even if there is code after it. E.g., def computeIt(x, y, z): w = x + y / z return w print("Done!") # never executed

11 Return vs. print() Printing a value in a function does not return it. – print sends characters out to the output “stream” – i.e., the screen. To send a value back to the caller you must use return

12 Clicker Questions Given this code: 1 def beatHope(i): 2 i = i * i 3 print("Let's beat Hope", i, "times") 4print(beatHope(3))

13 Assignment Do ~21 questions from the Functions section in CodeLab for Saturday, 11:59:59 pm. Study for test on Thursday.


Download ppt "Functions Victor Norman CS104 Calvin College. Reading Quiz Counts toward your grade."

Similar presentations


Ads by Google