python如何定义函数并对参数设置默认值
时间: 2023-06-17 20:04:36 浏览: 41
在Python中,我们可以使用`def`关键字来定义函数,并通过在括号内指定参数来设置默认值。
下面是一个例子:
```python
def greet(name, greeting='Hello'):
print(greeting + ', ' + name + '!')
greet('Alice') # 输出 "Hello, Alice!"
greet('Bob', 'Hi') # 输出 "Hi, Bob!"
```
在上面的例子中,`greet()`函数有两个参数,其中`name`是必需的参数,而`greeting`是可选的参数,默认值为`'Hello'`。如果我们只传递一个参数给`greet()`函数,那么它会使用默认值`'Hello'`来打印问候语。如果我们传递了一个值作为第二个参数,那么它就会使用这个值打印问候语。
需要注意的是,默认参数必须在函数参数列表的最后。例如:
```python
# 正确的写法:
def greet(name, greeting='Hello', punct='!'):
print(greeting + ', ' + name + punct)
# 错误的写法:
def greet(name='Alice', greeting, punct='!'):
print(greeting + ', ' + name + punct)
```
在上面的例子中,第一个函数是正确的,因为默认参数`greeting`和`punct`在参数列表的最后。而第二个函数是错误的,因为`name`已经被设置了默认值,但是`greeting`并没有在参数列表的最后。