Functions

🧠 Functions help you organize code into reusable pieces. Once defined, you can call a function whenever you need its behavior—just like pressing a button.

1 Defining a Function

Use the def keyword to define a function.

def greet():
    print("Hello!")

greet()
Hello!

2 Parameters and Arguments

You can pass data into functions using parameters.

def greet(name):
    print("Hello,", name)

greet("Data Science students!")
Hello, Data Science students!

3 Return Values

Use return to send a result back to the caller.

def add(number1, number2):
    return number1 + number2

result = add(5, 5)
print(result) 
10

4 Default Parameter Values

You can give parameters default values.

def greet(name="Data Science students!"):
    print("Hello,", name)

greet()        
greet("Tyler!")    
Hello, Data Science students!
Hello, Tyler!

5 Keyword Arguments

You can pass arguments by name, in any order.

def software(ide, programming_language):
    print("My favorite ide is", ide)
    print("to code", programming_language + ".")

software(programming_language="Python", ide="VSCode")
My favorite ide is VSCode
to code Python.
def software(ide, programming_language):
    print(f"My favorite ide is {ide} to code {programming_language}.")

software(programming_language="Python", ide="VSCode")
My favorite ide is VSCode to code Python.

6 Variable Number of Arguments

Use *args for any number of positional arguments.

def total_add(*args):
    return sum(args)

print(total_add(1, 2, 3))
6

Use **kwargs for any number of keyword arguments.

def course_info(**kwargs):
    for key, value in kwargs.items():
        print(key, ":", value)

course_info(name="Data Mining", code = 6103)
name : Data Mining
code : 6103

7 Functions Returning Multiple Values

You can return more than one value using tuples.

def add_and_subtract(number1, number2):
    return number1 + number2, number1 - number2

summation, subtraction = add_and_subtract(4, 2)

print(f"summation {summation} \nsubtraction {subtraction}")       
summation 6 
subtraction 2

Common Errors

Some frequent errors encountered when dealing with Functions in Python.

def greet()
    print("Hello")
  Cell In[10], line 1
    def greet()
               ^
SyntaxError: expected ':'
def greet(name):
    print("Hello", name)

greet()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[11], line 4
      1 def greet(name):
      2     print("Hello", name)
----> 4 greet()

TypeError: greet() missing 1 required positional argument: 'name'