问题求助
def funlist(alist):alist.append(1)
alist =
l1 =
funlist(l1)
print(l1)
为什么我定义的函数中 alist = 在下面使用时没有运行?
最后我print(l1) 不应该输出的结果是吗? 1. 运行了。
2. 不应该。
alist 是局部变量,函数运行结束就被销毁了。 °蓝鲤歌蓝 发表于 2021-1-20 23:14
1. 运行了。
2. 不应该。
alist 是局部变量,函数运行结束就被销毁了。
函数运行到哪一步才算结束 是运行完alist.qppend(1) 就结束了吗? 英俊男孩建坤 发表于 2021-1-20 23:17
函数运行到哪一步才算结束 是运行完alist.qppend(1) 就结束了吗?
整个运行完才算结束 def funlist(alist):
alist.append(1)
alist =
print(alist)#你想要的那个列表只在局部可见
l1 =
funlist(l1)
print(l1)#l1是全局的列表,传入函数运行后依旧存在
°蓝鲤歌蓝 发表于 2021-1-20 23:19
整个运行完才算结束
整个运行完才结束的话 也就是说运行的时候alist= 【2 ,3】 这个局部变量没有销毁 既然没有销毁最后print(l1)输出的结果不就应该是 吗? 昨非 发表于 2021-1-20 23:20
所以说 这就是一个优先级的问题 全局的优先级高于局部的优先级 ? 英俊男孩建坤 发表于 2021-1-20 23:20
整个运行完才结束的话 也就是说运行的时候alist= 【2 ,3】 这个局部变量没有销毁 既然没有销毁最后pri ...
服了。
运行的时候是没有销毁啊,可是 print(l1) 是在 funlist(l1)后面,那么程序运行到 print(l1) 的时候 funlist 已经运行完了。 英俊男孩建坤 发表于 2021-1-20 23:22
所以说 这就是一个优先级的问题 全局的优先级高于局部的优先级 ?
l1和alist是两个不同的变量,一个是全局变量,一个是局部变量,函数外部不能使用函数内的局部变量,只在函数内部有效。你print输出的是全局变量l1。 英俊男孩建坤 发表于 2021-1-20 23:22
所以说 这就是一个优先级的问题 全局的优先级高于局部的优先级 ?
不是优先级啊,而且要说优先级:
在局部:局部变量>全局
在全局:就没局部哪儿来的比较。。。。
页:
[1]