为什么m的类型变了?

刚才跑了一个差不多了就没报错,这个就报错了,m由list变成Nonetype了

img

  python 中没有返回值,默认就是空,就None,如果print(None),终端屏幕会什么也没有,如同print('') 。


  list.append()方法是对列表原址操作,没有返回值,强行赋值,就是None。python 中变量没有类型,也不需提前声明,只要语法合法怎么赋值都不会报错。
  您本问题中的m本是列表,您强行给赋了个None——m.apoend()。

  • 您可以看到,对列表m进行了一轮追加元素的append()操作,她在内存中的地址始终未变,还是原来那个列表,只是容器里有了“东西”。😋

    img


append 方法是没有返回值的,你这样赋值给m,不就让m 变成 NoneType了嘛

如图:

img

代码如下, 如有帮助给个采纳谢谢 :

m=[]
print(m)
a="abc"
for i in a:
    m.append(i)

print(m)


不知道你这个问题是否已经解决, 如果还没有解决的话:

回首页


老齐漫画头像

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^