2024-05-03 10:40:25 发布
网友
def main(): a = [1, 2, 3] myFunc(a) print(a) def myFunc(myList): myList[1] = 100
我在为我的第一节关于python的compsci课程准备期末考试。这段代码出现了,我不明白为什么当myFunc()没有返回值时列表的值会改变。为什么不直接打印出1,2,3?谢谢你抽出时间。你知道吗
我现在也在上Python的入门课,所以我会尽力回答这个问题。你知道吗
简单地说,并非所有函数都需要返回值。你知道吗
在函数MyFunc中,您有效地更改了列表,而不必返回值。你只是多走了一步,让你的计划更有条理。如果只是将函数的内容放在main函数中,情况也是一样的。你知道吗
Python列表是可变的。Python函数通过赋值传递参数。调用main时,它会创建一个列表,并将其与本地(to main)名称a关联。然后它调用myFunc,它将这个相同的列表指定为本地(to myFunc)名称myList的值,该名称会对其进行变异。(即,不复制列表;myFunc正在处理相同的可变对象。)然后控制流回到main,它打印a的值(现在已更改)。你知道吗
main
a
myFunc
myList
我现在也在上Python的入门课,所以我会尽力回答这个问题。你知道吗
简单地说,并非所有函数都需要返回值。你知道吗
在函数MyFunc中,您有效地更改了列表,而不必返回值。你只是多走了一步,让你的计划更有条理。如果只是将函数的内容放在main函数中,情况也是一样的。你知道吗
Python列表是可变的。Python函数通过赋值传递参数。调用
main
时,它会创建一个列表,并将其与本地(tomain
)名称a
关联。然后它调用myFunc
,它将这个相同的列表指定为本地(tomyFunc
)名称myList
的值,该名称会对其进行变异。(即,不复制列表;myFunc
正在处理相同的可变对象。)然后控制流回到main
,它打印a
的值(现在已更改)。你知道吗相关问题 更多 >
编程相关推荐