12 Function Tricks Every Python Developer Should Know

Boost your Python skills with 12 essential function tricks, from list comprehensions to generators to decorators. This guide covers everything you need to write more efficient, concise, and readable code.
12 function-related exercises/concepts:
- Use parameter
- Use return
- Default parameter value
- Keyword Arguments
- Built-in function
- Use docstring
- Anonymous function
- Access global variable
- return more than one value
- Variable-length argument
- Pass by reference vs value
- use main() function
1. Use Parameter:
Know how to declare parameters. How you can pass values to get a different result based on the parameters
def add (a, b):
sum = a + b
print(sum)
add(2,3)
2. Use Return:
Practice how to use the return keyword. So that you can do something with the result. If needed, you can use the result of the function again.
def add (a, b):
return a + b
x = add(2,3)
y = add(5,10)
total = add(x,y)
print(total)
3. Default Parameter:
Learn how can you avoid passing specific parameters. If one or more parameters are not passed, you can have a default value.
def add (a, b = 5):
return a + b
x = add(2,3)
print(x) # 5
y = add(7)
print(y) #112
total = add(x,y)
print(total)
4. Keyword Arguments
If you are not sure about the order of the parameters (arguments), you can pass arguments by their name and you don’t have to maintain their order.
def add (a, b):
return a + b
x = add(a = 2, b =3)
print(x) # 5
y = add(b = 7, a=11)
print(y) #16
total = add(b=x,a=y)
print(total)
5. Built-in function
Python has tons of built-in function. Like min, list, pow, len, etc. Here is the list of all Built-in Functions.
6. Use docstring
Learn how would you write the purpose and special notes about a function. In that case, using docstring is a convention.
A docstring is written right after the function name. It starts with three double quotes and ends with three double quotes as well. A docstring could be written multiple lines as well.
def add (a, b):
""" Add two numbers or two strings """
return a + b
7. Anonymous function
An anonymous function could be considered an advanced topic. It is also known as a lambda function. It is a shortcut way to write a function in one line without giving it a proper name.
double = lambda x: x * 2
# Output: 10
print(double(5))
8. Access global variable
This tricks new developers. You can access external variables. However, if you want to set a value to a variable not declared inside the function or is not a parameter, you will get an exception.
c = 5
def add (a, b):
c = a + b
return c
# will get an exception
x = add(12, 23)
# use global
def add (a, b):
global c
c = a + b
return c
9. return more than one value
In some cases, you will need to return more than one thing from a function. How would you do that?
The answer is: you can use a tuple, list, dictionary, class or, a dataclass.
def get_a_lot(x):
y0 = x + 1
y1 = x * 3
y2 = y0 ** y3
return (y0, y1, y2)
things = get_a_lot(5)
10. Variable-length argument
In some cases, you might not know, how many parameters user will pass. In those cases, what will you do?
def add_everything(*args):
return sum(args)
# Calculate the sum
print(add_everything(1,4,5, 75, 112))
11. Mutable Vs Immutable parameters
This is an advanced topic. However, you should check when you pass a variable, list, tuples or a dictionary to a function. What will happen if you change the value and what will happen if you just update one element of the collection?
If you are not sure, read the comment below by Jason.
12. use main() function
The main function has special importance to start an app. You should learn about this.
# Define `main()` function
def main():
hello()
print("This is a main function")
# Execute `main()` function
if __name__ == '__main__':
main()