形参和实参
时间: 2023-08-09 08:05:09 浏览: 75
在函数的定义中,形参(formal parameter)是指函数声明时括号中的参数,用于接收函数调用时传入的值。而实参(actual parameter)则是指函数调用时传入的具体值。
举个例子,下面是一个简单的函数定义:
```python
def greet(name):
print("Hello, " + name + "!")
```
这里的 `name` 就是函数的形参。当我们调用这个函数时,需要传入一个实参,例如:
```python
greet("John")
```
这里的 `"John"` 就是函数调用时的实参。当函数被调用时,实参会被传递给形参,函数体中的代码就可以使用形参来完成具体的操作。
需要注意的是,形参和实参的个数要一一对应,否则会导致调用函数时出现参数数量不匹配的错误。另外,在 Python 中,函数调用时可以使用关键字参数为形参指定具体的值,这样可以避免参数顺序错误的问题。例如:
```python
greet(name="John")
```
这里的 `name="John"` 就是关键字参数,将 `"John"` 传递给了函数的 `name` 形参。
相关问题
形参和实参分别是什么
形参和实参是在函数或方法调用中使用的两个概念。形参是在定义函数或方法时声明的参数,是一个虚拟的参数,用于接收实参值的变量。而实参是在调用函数或方法时传递给函数或方法的参数,可以是常量、变量、表达式、类等,实参必须要有确定的值。在函数或方法调用时,实参的值会被复制到形参中,形参和实参分别占用不同的存储单元,这种传递方式称为“参数的值传递”或者“函数的传值调用”。
下面是一个Java的例子,演示了形参和实参的使用:
```java
public class MethodTest {
public static void main(String[] args) {
int a = 10;
int b = 20;
int sumResult = sum(a, b); // a和b是实参
System.out.println("a + b = " + sumResult);
}
public static int sum(int num1, int num2) { // num1和num2是形参
int result = num1 + num2;
return result;
}
}
```
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
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)