Functions: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
==Introduction== | ==Introduction== | ||
We can control the flow of a program by calling a function. If we call a function, it executes, returns a value, and then resumes the program where it was called. | |||
In programming, a named section of a program that performs a specific task is called a function. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value. | In programming, a named section of a program that performs a specific task is called a function. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value. | ||
Line 13: | Line 15: | ||
<iframe width="560" height="315" src="https://www.youtube.com/embed/Pi0Yf-jn7O8" frameborder="0" allowfullscreen></iframe> | <iframe width="560" height="315" src="https://www.youtube.com/embed/Pi0Yf-jn7O8" frameborder="0" allowfullscreen></iframe> | ||
</html> | </html> | ||
== The difference between returning and printing == | == The difference between returning and printing == | ||
Line 21: | Line 22: | ||
<code>return</code>: gives the value to the program. Callers of the function then have the actual data and data type (bool, int, etc...) return 3 would have the value 3 put in place of where the function was called.<ref>http://stackoverflow.com/questions/3881434/difference-between-returns-and-printing-in-python</ref> | <code>return</code>: gives the value to the program. Callers of the function then have the actual data and data type (bool, int, etc...) return 3 would have the value 3 put in place of where the function was called.<ref>http://stackoverflow.com/questions/3881434/difference-between-returns-and-printing-in-python</ref> | ||
In general, you should <code>return</code> a value from a function and not directly print from a function. | |||
==Example of a function== | ==Example of a function== | ||
Line 26: | Line 29: | ||
<syntaxhighlight lang="python" line="1" > | <syntaxhighlight lang="python" line="1" > | ||
# | # | ||
# this is a simple function | # this is a simple function that remembers who like hamburgers and who doesn't like hamburgers. | ||
# | # | ||
Line 60: | Line 63: | ||
== Some decent videos about functions in Python == | == Some decent videos about functions in Python == | ||
<html> | <html> | ||
<iframe width="560" height="315" src="https://www.youtube.com/embed/Qa5DDqzHh3g" frameborder="0" allowfullscreen></iframe> | <iframe width="560" height="315" src="https://www.youtube.com/embed/Qa5DDqzHh3g" frameborder="0" allowfullscreen></iframe> | ||
<br /> | |||
<br /> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/qO4ZN5uZSVg" frameborder="0" allowfullscreen></iframe> | <iframe width="560" height="315" src="https://www.youtube.com/embed/qO4ZN5uZSVg" frameborder="0" allowfullscreen></iframe> | ||
</html> | </html> | ||
== See Also == | |||
* [[Lambda functions]] | |||
[[ | |||
==References== | ==References== |
Latest revision as of 13:14, 23 September 2020
Introduction
We can control the flow of a program by calling a function. If we call a function, it executes, returns a value, and then resumes the program where it was called.
In programming, a named section of a program that performs a specific task is called a function. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value.
Most programming languages come with a prewritten set of functions that are kept in a library. You can also write your own functions to perform specialized tasks. [2]
We use function so we don't need to repeat ourselves. Please watch the video below and remember the content.
The difference between returning and printing
Students often print from within a function. Please understand the difference between printing a result from a function and returning a result from a function.
print
: gives the value to the user as an output string. print(3) would give a string '3' to the screen for the user to view. The program would lose the value.
return
: gives the value to the program. Callers of the function then have the actual data and data type (bool, int, etc...) return 3 would have the value 3 put in place of where the function was called.[3]
In general, you should return
a value from a function and not directly print from a function.
Example of a function
#
# this is a simple function that remembers who like hamburgers and who doesn't like hamburgers.
#
def likesHamburgers(name):
if name == "Alisher":
likes_hamburgers ="yes"
else:
likes_hamburgers="no"
return likes_hamburgers
print likesHamburgers("Bill")
print likesHamburgers("Alisher")
print likesHamburgers("foo")
Another classic example of a function
#
# this is a simple function
#
def calculator(number1, number2):
answer = number1 + number2
return answer
print calculator(12,43)
print calculator(91,673)
print calculator(1,3)
print calculator(87,1098)
Some decent videos about functions in Python