Python Functions || Python Tutorial || Learn Python Programming

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
When programming, you will often encounter calculations and logical operations you need to perform repeatedly. One way to handle this is to write the same code over, and over, and over, and over, and -- ... -- over… A better solution is to write a function. Functions enable you to reuse logic an infinite number of times without repeating yourself. This is especially helpful to avoid moments of deja vu. A better solution is to write a function. Functions enable you to reuse logic an infinite number of times without repeating yourself. This is especially helpful to avoid moments of deja vu… Time to begin… Before we write a function of our own, call the directory function to see what objects are available to us... When you first start the Python interpreter, you will see a list of 4 standard attributes. Once you define a function, it will appear in the directory. To define a function, you write “d-e-f” followed by the name of the function. We will call this function F. Next, you write parentheses. Inside the parentheses you list the inputs to the function. Another name for “inputs” is “arguments”. This function has zero arguments. Next, type a “colon” and press return. The colon is how you start a new code block in Python. For our first function we will keep things simple. We will pass. The word “pass” is how you tell Python to skip this line and do nothing. Notice that we indented the code inside the function. In Python, you group code by indentation. There. We have created our first function. It is short. It is simple. But does it work? To call the function, type the name and parentheses… The function F did nothing, just like we told it to. By the way, look what happens if you forget to type parentheses. Without parentheses, Python displays that F is a function, and gives the memory address. Interesting, but not very helpful. You need to include parentheses to actually call the function. If you call the directory function again, you will see that F is now listed. Now we will write a function that actually does something. We start with d-e-f. We will name this function ping. Next, list the arguments inside parentheses. This function will have zero arguments. Finally, type colon and press enter. Functions in Python can return values. To return a value, type the word “return” and then the object. This function will return the string “Ping”. To show our enthusiasm, we will type an exclamation point. Return values are optional; you are under no obligation to return something. Now call the function. This function returns the string ‘Ping’. Since we did not assign this to a variable, Python printed it to the terminal. But we can also store the return value to a variable. To see that this worked, print the value X. Call the directory function again and you will see the function Ping, and the variable X listed. For our next example, recall the the volume of a sphere is: V = 4/3 π r3, where R is the radius of the sphere. We will write a function which will return the volume of a sphere when given the radius. To do this, we will need to use the number Pi. This is available in Python, but first you must import the math module. If you display the directory of the math module, you will see Pi listed. You can now access the number pi. We are ready to define the volume function. Type ‘def’ then the name of the function. We will call this function ‘volume’. This function will have a single argument: the radius R… Next, we will write a brief comment describing this function. This is called a “docstring” and provides documentation on what the function does and how to use it. Next, we compute the volume. Notice that we used decimals for the fraction 4/3. This is because in Python 2, if you divide one integer by another, it returns the quotient, not the exact value. Also, notice that you use a double asterisk for exponents. Finally, return the volume. Let’s test this function. Compute the volume of a sphere with radius 2. It works… Because we used an argument when defining the function, you must provide an input when calling it -- R is a required argument. Look what happens if you call ‘volume’ without an argument -- you get an error and a reminder to use an argument. We can use the help function to see how to use the volume function… Very helpful… We have created functions with no arguments and with one argument. We will now throw caution into the vacuum of space and write a function with two arguments. Our function will compute the area of a triangle. Recall that the area of a triangle is ½ base x height. Our previous function was named “volume”, which was somewhat vague. The name does not tell you what shape is being considered. This time, we will be more explicit and name the function “triangle area”. To compute the area, we need two arguments: the base B and the height H. Write a docstring giving a brief description of this function… And finally, return the area of the triangle. We are ready to test the function. The area of a triangle with base 3 and height 6 is … 9. This is correct. There is no limit to how many arguments you can use in your function, but if the number of inputs is too large, you will alienate others and receive accusing glares... Functions in Python can accept another kind of argument called “keyword arguments”. To show how to use these kinds of arguments, we will write a function which converts a person’s height from American Units (feet and inches) to centimeters. Recall that 1 inch equals 2.54 cm, and 1 foot equals 12 inches. Call this function cm, for centimeter. This function will accept two arguments: feet and inches. Notice that these arguments have equal signs after them. It looks as if we are assigning values to these arguments. In fact, we are. We are assigning a default value of 0 to each argument. For this reason, Python also calls keyword arguments “default arguments”... Next, write a docstring describing the function. Notice that it is customary to use triple-quotes for a docstring. Now for the actual code. We first convert inches to centimeters… Then we convert feet to centimeters… And we return the combined value. We could have combined these all on one line, but it is better to write clean code which is easy to read, as opposed to compact code which impresses no one. Here is how you call a function with keyword arguments. First we convert 5 feet to centimeters… Next we convert 70 inches to centimeters… And lastly, convert 5 feet 8 inches to centimeters… We can also perform this last calculation by specifying inches first… Keyword arguments help you to write flexible functions and clean code. There are 2 kinds of arguments you can use when writing a function. A keyword argument, which has an equal sign, and a required argument which does not have an equal sign. When writing a function, you can use both kinds of arguments. But if you do this, the keyword arguments must come last. For example, if you define a function G with a keyword argument first, you get a Syntax Error. Notice that Python calls these “default arguments”. This is another name for a keyword argument. To fix this, you have to list the non-default arguments first. These are also called required arguments since they are required. To call this function, you must pass in a value for the required argument Y. The keyword argument X is optional. If you do not provide a value for X, the default value is used. If you want to pass in a value for the keyword argument, then you must specify it by its name. Required arguments are not given a name. They are determined by their position. Functions in Python are flexible contraptions. Required arguments, keyword arguments, docstrings, return values -- together they empower you to write some amazing, reusable code. And if your function does not require an input, you will not get an argument from me...
Info
Channel: Socratica
Views: 362,094
Rating: 4.9271436 out of 5
Keywords: Socratica, Python (Programming Language), Python, Learn Python, Python programming, Python language, Python Function, Python Tutorial, computer programming, learn python, socraticapython, functions in python, how to python, how to program in python, program in python, programming in python, python tutorial, SocraticaCS, python tutorial for beginners
Id: NE97ylAnrz4
Channel Id: undefined
Length: 9min 27sec (567 seconds)
Published: Thu Jun 25 2015
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.