bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/Python/Foundations
Python•Foundations

Python Functions

A function is a block of code which only runs when it is called.

A function can return data as a result.

A function helps avoiding code repetition.

Creating a Function

In Python, a function is defined using the def keyword, followed by a function name and parentheses:

Example

def my_function():
 print("Hello from a function")

This creates a function named my_function that prints "Hello from a function" when called.

The code inside the function must be indented. Python uses indentation to define code blocks.

Calling a Function

To call a function, write its name followed by parentheses:

Example

def my_function():
  print("Hello from a function")

  my_function()

You can call the same function multiple times:

Example

def my_function():
  print("Hello from a function")

  my_function()
  my_function()
  my_function()

Function Names

Function names follow the same rules as variable names in Python:

  • A function name must start with a letter or underscore
  • A function name can only contain letters, numbers, and underscores
  • Function names are case-sensitive ( myFunction and myfunction are different)

Valid function names

calculate_sum()
_private_function()
myFunction2()

It's good practice to use descriptive names that explain what the function does.

Why Use Functions?

Imagine you need to convert temperatures from Fahrenheit to Celsius several times in your program. Without functions, you would have to write the same calculation code repeatedly:

Example

temp1 = 77
celsius1 = (temp1 - 32) * 5 / 9
print(celsius1)

temp2 = 95
celsius2 = (temp2 - 32) * 5 / 9
print(celsius2)

temp3 = 50
celsius3 = (temp3 - 32) * 5 / 9
print(celsius3)

With functions, you write the code once and reuse it:

Example

def fahrenheit_to_celsius(fahrenheit):
  return (fahrenheit - 32) * 5 / 9

print(fahrenheit_to_celsius(77))
print(fahrenheit_to_celsius(95))
print(fahrenheit_to_celsius(50))

Return Values

Functions can send data back to the code that called them using the return statement.

When a function reaches a return statement, it stops executing and sends the result back:

Example

def get_greeting():
  return "Hello from a function"

message = get_greeting()
print(message)

You can use the returned value directly:

Example

def get_greeting():
  return "Hello from a function"

print(get_greeting())

If a function doesn't have a return statement, it returns None by default.

The pass Statement

Function definitions cannot be empty. If you need to create a function placeholder without any code, use the pass statement:

Example

def my_function():
  pass

The pass statement is often used when developing, allowing you to define the structure first and implement details later.

Previous

Python For Loops

Next

Python Function Arguments

This chapter

Overview
100

Lessons

265m

Read time

1. Python Tutorial2. Python Introduction3. Python Getting Started4. Python Syntax5. Python Statements6. Python Output / Print7. Python Output Numbers8. Python Comments9. Python Variables10. Python - Variable Names11. Python Variables - Assign Multiple Values12. Python - Output Variables13. Python - Global Variables14. Python Data Types15. Python Numbers16. Python Casting17. Python Strings18. Python - Slicing Strings19. Python - Modify Strings20. Python - String Concatenation21. Python - Format - Strings22. Python - Escape Characters23. Python - String Methods24. Python Booleans25. Python Operators26. Python Arithmetic Operators27. Python Assignment Operators28. Python Comparison Operators29. Python Logical Operators30. Python Identity Operators31. Python Membership Operators32. Python Bitwise Operators33. Python Operator Precedence34. Python Lists35. Python - Access List Items36. Python - Change List Items37. Python - Add List Items38. Python - Remove List Items39. Python - Loop Lists40. Python - List Comprehension41. Python - Sort Lists42. Python - Copy Lists43. Python - Join Lists44. Python - List Methods45. Python Tuples46. Python - Access Tuple Items47. Python - Update Tuples48. Python - Unpack Tuples49. Python - Loop Tuples50. Python - Join Tuples51. Python - Tuple Methods52. Python Sets53. Python - Access Set Items54. Python - Add Set Items55. Python - Remove Set Items56. Python - Loop Sets57. Python - Join Sets58. Python frozenset59. Python - Set Methods60. Python Dictionaries61. Python - Access Dictionary Items62. Python - Change Dictionary Items63. Python - Add Dictionary Items64. Python - Remove Dictionary Items65. Python - Loop Dictionaries66. Python - Copy Dictionaries67. Python - Nested Dictionaries68. Python Dictionary Methods69. Python If Statement70. Python Elif Statement71. Python Else Statement72. Python Shorthand If73. Python Logical Operators74. Python Nested If75. Python Pass Statement76. Python Match77. Python While Loops78. Python For Loops79. Python Functions80. Python Function Arguments81. Python *args and **kwargs82. Python Scope83. Python Decorators84. Python Lambda85. Python Recursion86. Python Generators87. Python range88. Python Arrays89. Python Iterators90. Python Modules91. Python Datetime92. Python Math93. Python JSON94. Python RegEx95. Python PIP96. Python Try Except97. Python String Formatting98. Python None99. Python User Input100. Python Virtual Environment

On this page

Creating a FunctionCalling a FunctionFunction NamesWhy Use Functions?Return ValuesThe pass Statement