Detailed explanation of Python functions: definition, call and parameter types
Function definition and function
A function is a reusable block of code that is executed only when needed. In Python, functions are defined using the def
keyword.
For example, the following code defines a sum function:
<code class="language-python">def sum(a, b): print(a + b)</code>
This function calculates the sum of two integers a
and b
. When you need to find the sum of two numbers, you can directly call the sum(a, b)
function.
Function call
Calling a function means executing the code inside the function through the function name followed by parentheses. For example:
<code class="language-python">def sum(a, b): print(a + b) sum(1, 3)</code>
Here:
a
and b
are parameters in the function definition. 1
and 3
are the parameter values (actual parameters) passed to the function. sum
is the function name. Parameter type
Python functions support four parameter types:
TypeError
exception. <code class="language-python">def sum(a, b): print(a + b) sum(1, 3) # 正确 sum() # TypeError</code>
a
and b
are required parameters as they have no default value.
<code class="language-python">def new_print(a, b): print(f"{a} is a friend of {b}") new_print(b="Alice", a="Bob")</code>
Output: Bob is a friend of Alice
Keyword parameters correctly assign values to the corresponding parameters even if the parameters are in the wrong order.
<code class="language-python">def sum(a=0, b=0): print(a + b) sum() # 输出:0 sum(1, 3) # 输出:4</code>
Even if no values for a
and b
are provided, the function will execute normally because they have a default value of 0.
Variable parameters: The function can accept any number of parameters.
a. *args
: used to receive any number of non-keyword parameters, accessed in the form of tuples inside the function.
<code class="language-python">def sum(*numbers): total = 0 for i in numbers: total += i print(total) sum(1, 2, 3, 4) # 输出:10</code>
b. **kwargs
: used to receive any number of keyword parameters, accessed in the form of a dictionary inside the function.
<code class="language-python">def print_kwargs(**kwargs): for key, value in kwargs.items(): print(f"{key}={value}") print_kwargs(name="Alice", age=30, city="New York")</code>
Four methods of digital exchange
The following four methods can exchange the values of two numbers:
Method 1: Use temporary variables
<code class="language-python">P = 5 Q = 4 temp = P P = Q Q = temp</code>
Method 2: Tuple unpacking
<code class="language-python">P = 5 Q = 4 P, Q = Q, P</code>
Method 3: Use bitwise operators
<code class="language-python">P = 5 Q = 4 P = P ^ Q Q = P ^ Q P = P ^ Q</code>
Method 4: Use addition and subtraction
<code class="language-python">P = 5 Q = 4 P = P + Q Q = P - Q P = P - Q</code>
The above is the detailed content of Day Everything You Need to Know About Functions in Python. For more information, please follow other related articles on the PHP Chinese website!