实参和形参

传递给函数的值被称为实参,用于接受传递值的变量被称为形参。出于简化的目的,C++标准使用参数(arguement)来表示实参,使用参量(parameter)来表示形参,因此参数传递将参数赋给参量。
Python中,实参形参是函数编程中的重要概念。定义函数时,圆括号内使用逗号分隔的形式参数列表即为形参;调用函数时向其传递的参数则是实参实参的值或引用会被传递给形参[^1]。 两者存在多方面区别: - **定义位置**:形参在函数定义时声明,用于接收函数调用时传递的实参值,在函数体内部使用,定义了函数期望的输入类型数量;实参在函数调用时传递给函数,可以是常量、变量、表达式或其他函数调用的结果,用于初始化函数内部的形参[^4]。 - **作用范围**:形参作用范围仅限于函数内部,函数被调用时,形参会被实参初始化,函数执行完毕后,形参作用范围结束,占用的内存会被释放;实参的作用范围取决于自身定义位置,可以是全局变量、局部变量或其他函数作用范围内的变量,函数执行完毕后,实参作用范围不受影响[^4]。 - **命名顺序**:函数定义时,形参的名称顺序固定,确定了函数期望的输入类型数量;函数调用时,实参顺序通常需与形参顺序匹配,除非使用关键字参数,使用关键字参数时可按任意顺序传递实参,只需提供正确参数名即可[^4]。 - **传递方式**:在Python中,所有数据类型都通过值传递,但对于可变数据类型(如列表、字典等),传递的是引用的值,函数内部对可变数据类型的修改会影响原始数据;对于固定数据类型(如整数、浮点数、字符串、元组等),在函数内部直接修改形参的值不会影响实参[^1][^4]。 实参形参的使用方法示例如下: ```python # 1. 定义具有形参的函数 def greet(name, age): print(f"Hello, {name}! You are {age} years old.") # 2. 调用函数并传递实参 greet("Alice", 30) # 输出:Hello, Alice! You are 30 years old. # 3. 传值示例 def ChangeInt(a): a = 10 a = 2 ChangeInt(a) print('a =', a) # 输出:a = 2 # 4. 传引用示例 def changeme(mylist): mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) mylist = [10, 20, 30] changeme(mylist) print("函数外取值: ", mylist) # 输出: # 函数内取值: [10, 20, 30, [1, 2, 3, 4]] # 函数外取值: [10, 20, 30, [1, 2, 3, 4]] # 5. 位置形参 + 默认形参示例 def basic_args(a, b = 10): print(f"a={a}, b={b}") basic_args(1) # 输出:a=1, b=10 basic_args(1, 2) # 输出:a=1, b=2 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值