采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
本以为d是一个全局整形变量,可以在func函数里对他进行操作(给它加1),结果不能,提示我func里的那个d是一个局部变量,还没有定义你就想赋值? 但是为什么demo函数里就可以对全局变量c(是list)做追加元素的append操作呢? 我的问题就是 在函数的作用域里对列表追加元素的操作和对整形变量增加1的操作都是操作,两种操作有什么不同?
d
=
0
def
add():
c
+
1
print
(d
)
add()
这样没有问题
这样理解: 在函数中修改全局变量的时候如果不适用global就会报错比如:
这里是要修改全局变量d 就会报错
如果全局变量是个列表,那么函数里可以做append操作。 而全局型的整形变量在函数里不能做赋值操作,但可以引用它。
是的,在函数中对于list这些类型可以进行append操作, 但是同样的你要对 d这个全局对象复制还是会报错的
登录后可查看更多问答,登录/注册
慕课网严选精品教程,高质量内容+服务!
1.4k 20
1.7k 17
1.3k 17
1.2k 17
1.5k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号