Python函数参数传递解惑:my_function为何能打印fruits列表?
Python函数参数与实参的关联解释
先看你的代码:
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
给你拆解整个关联和执行过程:
- 定义
my_function时,括号里的food是形参——它只是一个“占位名字”,用来告诉函数:“等下调用我的时候,要给我传一个可遍历的东西,我就用food指代它”。这时候food还没有具体的内容。 - 你创建的
fruits是一个实际的列表变量,里面存着三个水果字符串,是实实在在的数据。 - 当你执行
my_function(fruits)时,fruits就是实参——Python会把fruits指向的那个列表,直接“递给”函数里的food。这时候函数内部的food就和fruits指向同一个列表了,二者是绑定关系。 - 接下来函数里的
for x in food循环,本质就是遍历fruits列表里的每个元素,把每个元素赋值给x,然后执行print(x),自然就把列表里的水果逐个打印出来了。
内容的提问来源于stack exchange,提问作者Jasontor
相关产品推荐
相关产品推荐

