python 函数中定义可选参数,并举例说明
时间: 2024-03-28 16:42:02 浏览: 163
在 Python 函数中,我们可以通过在函数定义时指定参数的默认值来定义可选参数。当调用函数时,如果没有为可选参数传递值,则会使用默认值。
下面是一个例子:
```python
def greet(name, greeting='Hello'):
print(greeting, name)
greet('Alice') # 输出:Hello Alice
greet('Bob', 'Hi') # 输出:Hi Bob
```
在上面的例子中,`greeting` 参数被定义为可选参数,并设置默认值为 `'Hello'`。当只传递一个参数 `'Alice'` 时,函数将使用默认值 `'Hello'` 打印出 `'Hello Alice'`。在第二个函数调用中,我们传递了两个参数 `'Bob'` 和 `'Hi'`,因此输出为 `'Hi Bob'`。
需要注意的是,可选参数必须放在所有必需参数的后面。在函数定义中,如果有多个可选参数,则必须按照顺序指定它们的默认值。例如:
```python
def print_info(name, age, gender='unknown', job='unemployed'):
print(f"{name} is {age} years old, {gender}, and {job}.")
print_info('Alice', 25) # 输出:Alice is 25 years old, unknown, and unemployed.
print_info('Bob', 30, job='engineer') # 输出:Bob is 30 years old, unknown, and engineer.
```
在上面的例子中,`gender` 和 `job` 都是可选参数,但是 `gender` 在定义函数时指定了默认值,而 `job` 在调用函数时指定了默认值。因此,在第一个函数调用中,输出的字符串中 `gender` 和 `job` 都使用默认值。在第二个函数调用中,我们传递了 `job='engineer'`,因此输出的字符串中 `job` 使用传递的值 `'engineer'`,而 `gender` 仍然使用默认值 `'unknown'`。
阅读全文