以下程序的输出结果是( )。 imgl=[12,34,56,78] img2=[1,2,3,4,5] def modi(): img1=img2 print(img1) modi() print(img1)

admin2020-04-10  21

问题 以下程序的输出结果是(    )。
  imgl=[12,34,56,78]
  img2=[1,2,3,4,5]
  def modi():
    img1=img2
    print(img1)
  modi()
  print(img1)

选项 A、[12,34,56,78]
    [1,2,3,4,5]
B、[1,2,3,4,5]
    [1,2,3,4,5]
C、[12,34,56,78]
    [12,34,56,78]
D、[1,2,3,4,5]
    [12,34,56,78]

答案D

解析 程序先调用函数modi(),函数体内进行赋值操作,列表对象的赋值就是简单的对象引用。函数体内,img1和img2是一样的,他们指向同一片内存,img1不过是img2的别名。因此,函数调用执行后输出[1,2,3,4,5]。然后执行print(img1),此处的img1是外部变量,与函数体内img1不是同一个变量,仍输出[12,34,56,78]。故正确答案为D项。
转载请注明原文地址:https://jikaoti.com/ti/3V50FFFM
0

最新回复(0)