You are here: Home > Dive Into Python > Getting To Know Python > Declaring functions | << >> | ||||
Dive Into PythonPython for experienced programmers |
Python has functions like most other languages, but it does not have separate header files like C++ or interface/implementation sections like Pascal. When you need a function, just declare it and code it.
Several things to note here. First, the keyword def starts the function declaration, followed by the function name, followed by the arguments in parentheses. Multiple arguments (not shown here) are separated with commas.
Second, the function doesn’t define a return datatype. Python functions do not specify the datatype of their return value; they don’t even specify whether they return a value or not. In fact, every Python function returns a value; if the function ever executes a return statement, it will return that value, otherwise it will return None, the Python null value.
In Visual Basic, functions (that return a value) start with function, and subroutines (that do not return a value) start with sub. There are no subroutines in Python. Everything is a function, all functions return a value (even if it’s None), and all functions start with def. |
Third, the argument, params, doesn’t specify a datatype. In Python, variables are never explicitly typed. Python figures out what type a variable is and keeps track of it internally.
In Java, C++, and other statically-typed languages, you must specify the datatype of the function return value and each function argument. In Python, you never explicitly specify the datatype of anything. Based on what value you assign, Python keeps track of the datatype internally. |
Addendum. An erudite reader sent me this explanation of how Python compares to other programming languages:
So Python is both dynamically typed (because it doesn’t use explicit datatype declarations) and strongly typed (because once a variable has a datatype, it actually matters).
<< Getting To Know Python |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Documenting functions >> |