参数Parameter,形参Formal Parameter,实参Actual Argument

在函数中,参数Parameter是连接函数定义与调用的桥梁,分为形参与实参

形参Formal Parameter:函数定义时声明的"占位符"(变量名)

实参Actual Argument:函数调用时传递的"实际值"

参数类型详解

1.必选参数(又称位置参数)

形参定义:直接声明变量名

实参传递:必须按顺序传递

2.默认参数

形参定义:声明时指定默认值

实参传递:可省略或覆盖

3.可变函数(*args)

形参定义:用 * 接收任意数量非关键字参数

实参传递:可传递任意数量值(逗号分隔)

4.关键字参数(**kwargs)

形参定义:用 ** 接收任意数量关键字参数

实参传递:必须用 key = value 形式传递

5.仅限关键字参数

形参定义:在 *args 后声明,必须用关键字传递

实参传递:只能通过 key = value 形式传递

参数传递机制

1.不可变对象(如数字,字符串)

传递方式:按值传递(形参接收实参的副本)

修改影响:函数内修改形参不影响外部实参

2.可变对象(如列表,字典)

传递方式:按引用传递(形参接收实参的内存地址)

修改影响:函数内修改形参会影响外部实参

相关推荐
小徐不徐说2 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang3 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go3 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3273 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
weixin_307779134 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102164 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷4 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang4 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5205 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试