Python中函数的argument除调用时传入值外还包含哪些?
关于Python中argument(实参)的范畴说明
基础概念明确
- 形参(parameter):函数定义时声明的占位变量,仅在函数内部作用域生效,仅属于定义阶段的概念
- 实参(argument):函数调用时实际传递给函数的有效内容,属于调用阶段的概念,所有触发函数调用的场景中传递的内容都属于实参范畴
结合你的代码逐行识别
你给出的代码中所有实参如下,注释已标注:
def register_for_class(student_id, crn): # student_id、crn为形参 # 调用add_class时传入的4个内容全部为实参:student_id、crn、2022、'Spring' add_class(student_id, crn, 2022, 'Spring') # 调用get_name时传入的student_id为实参 student_name = get_name(student_id) # 调用get_class时传入的crn为实参 class_name = get_class(crn) msg = student_name + ' is now enrolled in: ' + class_name return msg # 调用register_for_class时传入的19283746、22319为实参 register_for_class(19283746, 22319)
常见认知误区
- 变量的身份不是固定的:比如
student_id在register_for_class的定义行是形参,但是当它作为值传递给其他被调用的函数时,就属于对应函数调用的实参 - 实参可以是任意可求值的内容:字面量(比如数字
2022、字符串'Spring')、变量、甚至其他函数的返回值都可以作为实参使用
内容的提问来源于stack exchange,提问作者arkade
相关产品推荐
相关产品推荐

