第23讲动动手第一小题:写一个函数get_digits(n)
写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==>result = []
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
get_digits(12345)
print(result)
想问下result不是全局变量吗?为什么函数内部还可以对其进行修改呢
全局变量是可以被本程序所有对象或函数引用。 全局变量可以被函数修改 小伤口 发表于 2021-8-26 16:26
全局变量可以被函数修改
您好不是说函数内部可以访问到全局变量,但如果去修改它,只会影响到局部变量吗,全局变量不是不应该变化吗 result是个容器(list)
局部变量不能改变他是个容器,但是可以改变容器里面的东西
变量实际上还指向这个容器,只是这个容器里面的东西变了
打个比方,搬家公司搬运衣柜,这个衣柜没有变化,但是衣柜里面的衣服可以换成帽子,也可以增加裤子 v-ino 发表于 2021-8-26 16:35
您好不是说函数内部可以访问到全局变量,但如果去修改它,只会影响到局部变量吗,全局变量不是不应该变化 ...
不可变的数据类型,是不能修改的,但列表是可变的,可以修改 逃兵 发表于 2021-8-26 16:38
result是个容器(list)
局部变量不能改变他是个容器,但是可以改变容器里面的东西
变量实际上还指向这个容 ...
明白了谢谢 小伤口 发表于 2021-8-26 16:42
不可变的数据类型,是不能修改的,但列表是可变的,可以修改
谢谢
页:
[1]