1.简述位置参数、关键字参数、默认参数传递的区别
时间: 2024-11-03 11:18:14 浏览: 40
经典Python面试题之Python基础篇.docx
在函数调用中,三种参数传递方式有各自的区别:
1. **位置参数**:按照它们在函数定义时的顺序进行传递,即根据参数的位置来确定每个参数的值。这是最直观的方式,不需要给参数指定名称。例如:
```python
def greet(name, message):
print(f"Hello, {name}! {message}")
greet("Alice", "Welcome!") # name按位置第1个参数,message按位置第2个参数
```
2. **关键字参数**:通过参数名来传递值,无论参数的位置如何,只要名称匹配,就能正确绑定。这种方式可以避免调用时的顺序错误,也便于理解和维护。如:
```python
greet(message="Welcome!", name="Alice") # 参数由名字而非位置决定
```
3. **默认参数**:对于函数定义时设置了默认值的参数,在调用时不提供这个参数值时,会使用默认值。如果提供了,则使用提供的值。示例:
```python
def greet(name, message="Hello"):
print(f"{message}, {name}!")
greet("Bob") # 使用默认消息"Hello"
greet("Charlie", "Greetings") # 使用提供的消息
```
阅读全文