1 / 29

Understanding Functions: A Guide to Writing and Using Simple Functions

Learn how to write and use functions in programming, including defining functions, passing parameters, returning values, and handling errors. Improve your coding skills with this comprehensive guide.

windym
Download Presentation

Understanding Functions: A Guide to Writing and Using Simple Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Functions Jay Summet

  2. Functions input • A function is a piece of code you can use over and over again • Treat it like a black box • You pass it (optional) values, it does some work, and it (optionally) returns values • You “call it”,”invoke it”, or “use it” by using its name and parentheses • The arguments you pass it go inside the parentheses • output = function( input )‏ function output

  3. Using Simple Functions print( “Some Text” ) ‏ You call a function by using it's identifier (name) followed by parenthesis. If the function takes arguments, you insert them inside the parenthesis.

  4. Writing Simple Functions • Defining functions • Creates function • Does not execute/run them • Indenting indicates a “block” of code • Call functions from top-level or other functions def sayHi(): print(“Hi there!”)‏ print(“Nice to meet you!”) sayHi()‏ Indent No Indention “Top Level”

  5. Format of a function definition def function-name(): statement statement … statement

  6. Writing Functions with Parameters def sayHi(name): print( “Hi there”, name) print( “Nice to meet you!”) sayHi(“Jay”)‏ sayHi(“Bob”)‏

  7. Parameters are Variables • When you pass values into functions as arguments, they get assigned to the variable names (parameters) declared in the definition line of the function. • For example, when you call sayHi(“Jay”)The name variable is assigned (points to) the value “Jay” • When the code in the function refers to the name variable, it evaluates to the string “Jay” • So, when you call sayHi(“Jay”) and the sayHi function calls print(“Hi there”, name), it's the same as if it called print(“Hi there”, “Jay”)

  8. Format of a Function Definition with Parameters def function-name(param0, param1, ...): statement statement … statement function-name(arg0, arg1, ...)‏

  9. Using Functions that Return Values name = getName()‏ print( “Hello”, name)

  10. Composing Functions • You can use the output (return value) of one function as the input (argument) to another function. sayHi( getName() ) • In this example, the getName() function executes first (things inside parenthesis execute before things outside parenthesis)‏ • The getName() function returns a name, which is then given to the sayHi() function as an argument.

  11. Writing Functions that Return Values def area(radius): return 3.14 * radius**2 def circumference(diameter): return 3.14 * diameter print( “Area of a 3 ft circle”, area(3)‏ ) print( “Circumference”, circumference(2*3)‏ )

  12. Return Statements • The return statement is used to return a value from a function • The return statement also affects the flow of execution • Whenever the flow of execution hits a return statement it jumps back to the place where the function was called • All functions have an implicit return statement that returns None at the end of the block of indented code, even if you do not specifically place one at the end of your function

  13. Functions with Local Variables def area(radius): a = 3.14 * radius**2 returna def circumference(diameter): c = 3.14 * diameter returnc print( “Area of a 3 ft circle”, area(3)‏ ) print( “Circumference”, circumference(2*3)‏ )

  14. Variables in a Function are Local • Variables in a function are private • Including the parameters • Each function has its own variables • Even when the names are the same • Allows you to write functions independently without worrying about using the same name in multiple functions

  15. Different Variables - Same Name def area(radius): a = 3.14 * radius**2 returna def circumference(radius): a = 3.14 * 2 * radius returna a = 20 print( “Area of a 3 ft circle”, area(3) )‏ print( “Circumference”, circumference(3)‏ ) print( a )

  16. Writing Functions with Return Values def function-name(list-of-params): statement statement … statement return value output = function-name(list-of-params)‏

  17. Passing variables to a functions • If you pass a variable to a function, the function gets the value that the variable is pointing at userInput = input(“Enter your Name”)‏ sayHi(userInput)‏

  18. Functions in general # description of this function # what it expects as input # what is provides as output def function (p0, p2, …, pn): statement … statement return value z = function(a0, a2, …, an)‏

  19. Where’s the Error? def area(a): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area( 3‏ )

  20. Not enough Parentheses! def area(a): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area(3)‏ )

  21. Where’s the Error? def area( radius ): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area(3)‏ )

  22. No Indentation! def area(radius): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area(3)‏ )

  23. Where’s the Error? def area(radius): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area()‏ )

  24. No argument to the function! def area(radius): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area(3)‏ )

  25. Where's the Error? def area(radius): a = 3.14 * radius**2 print( “Area of a 3 ft circle”, area(3)‏ )

  26. No Return Value! def area(radius): a = 3.14 * radius**2 returna print( “Area of a 3 ft circle”, area(3)‏ )

  27. Where’s the Error? def area(radius): a = 3.14 * radius**2 returna area(3)‏ print( “Area of a 3 ft circle”, a )

  28. Don't save the return value into Global variable a! def area(radius): a = 3.14 * radius**2 returna a = area(3)‏ print( “Area of a 3 ft circle”, a )

  29. Last Question - What’s the result? def area(radius): a = 3.14 * radius**2 returna a = 16 v = area(3)‏ print( “Area of a 3 ft circle”, v ) print( “value of a”, a)

More Related