python 默认形参
时间: 2023-10-14 17:31:11 浏览: 56
Python 的默认形参是指在定义函数时,给参数设置一个默认值,如果在调用函数时没有传递该参数,则会使用默认值。例如:
```python
def greet(name='world'):
print(f'Hello, {name}!')
greet() # 输出:Hello, world!
greet('Alice') # 输出:Hello, Alice!
```
在这个例子中,`greet()` 函数有一个默认参数 `name`,默认值为 `'world'`。如果在调用 `greet()` 函数时没有传递参数,则会输出 `'Hello, world!'`。如果传递了参数,则会使用传递的参数值输出相应的结果。
需要注意的是,默认参数必须放在所有非默认参数的后面。例如,下面的代码将会报错:
```python
# 错误的示例
def greet(name='world', age):
print(f'Hello, {name}! You are {age} years old.')
# 报错:SyntaxError: non-default argument follows default argument
```
因为 `name` 是默认参数,而 `age` 是非默认参数,所以这段代码会报错。
相关问题
python带默认形参值的函数
在 Python 中,函数可以使用默认参数值。这意味着你可以为函数的参数指定默认值,如果没有传递该参数,则使用默认值。
以下是一个带有默认参数值的函数示例:
```python
def greet(name, greeting='Hello'):
print(greeting, name)
```
在这个示例中,我们定义了一个名为 `greet` 的函数,它有两个参数:`name` 和 `greeting`。`greeting` 参数有一个默认值 'Hello'。如果我们在调用函数时只传递了 `name` 参数,则 `greeting` 参数将自动使用默认值:
```python
greet('Bob') # 输出: Hello Bob
```
如果我们想使用自定义的问候语,则可以传递 `greeting` 参数:
```python
greet('Alice', 'Hi') # 输出: Hi Alice
```
请注意,在调用函数时,我们可以省略 `greeting` 参数,因为它有一个默认值。但是,如果我们想要传递自己的值,需要显式地传递参数。
Python的形参和实参
Python的形参和实参是函数定义和函数调用时使用的参数。形参是函数定义时使用的参数,而实参是函数调用时传递给函数的参数。在Python中,函数定义时可以使用位置参数、默认参数、可变位置参数和可变关键字参数。下面是一些例子:
1.位置参数
```python
def add(x, y):
return x + y
result = add(2, 3)
print(result) # 输出:5
```
2.默认参数
```python
def add(x, y=1):
return x + y
result1 = add(2)
result2 = add(2, 3)
print(result1) # 输出:3
print(result2) # 输出:5
```
3.可变位置参数
```python
def add(*args):
result = 0
for arg in args:
result += arg
return result
result1 = add(1, 2, 3)
result2 = add(1, 2, 3, 4, 5)
print(result1) # 输出:6
print(result2) # 输出:15
```
4.可变关键字参数
```python
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Tom", age=18, gender="male")
# 输出:
# name: Tom
# age: 18
# gender: male
```