120 likes | 239 Vues
This overview of Python functions covers key concepts for beginners, including function definitions, calls, and the distinction between fruitful and non-fruitful functions. Learn how to define a function using `def`, understand parameters and local variables, and grasp the importance of return statements compared to print functions. The content also addresses practical examples, including calculating values and executing code within a function's scope. A quiz assignment is included to reinforce the concepts learned in the Functions section.
E N D
Functions Victor Norman CS104 Calvin College
Reading Quiz • Counts toward your grade.
Function Defn is an Abstraction • 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.
Function Def’n vs. Call • Definition: deffuncname(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.
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., defdrawSquare(size): code here to draw a square of size. Returns nothing.
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.
Parameters and Local Variables • They hold the *values* being passed in in the function call. • They 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.
Return Statement • Computes the result to be sent back to the caller. • Computes the result to be sent back to the caller. • E.g., def computeIt(x, y, z): w = x + y / z return w print("Done!") # never executed
Return vs. print() • Printing a value in a function does not return it. • it sends it out to the output “stream” – i.e., the screen. • To send a value back to the caller you must use return <val>
Assignment • Do ~21 questions from the Functions section in CodeLabbefore lab on Thursday.