鱼C论坛

 找回密码
 立即注册
查看: 1594|回复: 7

[已解决]求助大神两个问题(不相关):append和变量引用

[复制链接]
发表于 2022-2-23 15:38:30 | 显示全部楼层 |阅读模式
20鱼币
1,
  1. >>> a = [1, 3, 5]
  2. >>> a
  3. [1, 3, 5]
  4. >>> a.append(9)
  5. >>> a
  6. [1, 3, 5, 9]
  7. >>> a.append(1)
  8. >>> a
  9. [1, 3, 5, 9, 1]
  10. >>> b = a.append(2)
  11. >>> b
  12. >>> b
  13. >>> type(b)
  14. <class 'NoneType'>
复制代码


为什么a.append赋值给b,b是NoneType呢?


2,
  1. >>> a = [1, 2, 3]
  2. >>> b = a
  3. >>> a = [4, 5, 6]
  4. >>> b
  5. [1, 2, 3]
复制代码



>>> a = [1, 2, 3]
>>> b = a
>>> a[1] = 5
>>> b
[1, 5, 3]

一开始a与b都是数值[1, 2, 3]的引用,a is b。按小甲鱼教学一个变都要变,但按照上述实例操作,局部元素赋值不会生成新的内存(a is b),整体赋值生成新的内存(a is not b)。底层逻辑是什么啊?
最佳答案
2022-2-23 15:38:31
1、因为append方法没有返回值 所以b是无类型
2、
  1. >>> a = [1, 2, 3]
  2. >>> b = a
复制代码

a,b全部指向列表[1,2,3]
但是你重新 a = [4, 5, 6], a就会重新指向 列表[4,5,6]

最佳答案

查看完整内容

1、因为append方法没有返回值 所以b是无类型 2、 a,b全部指向列表[1,2,3] 但是你重新 a = [4, 5, 6], a就会重新指向 列表[4,5,6]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 15:38:31 | 显示全部楼层    本楼为最佳答案   
1、因为append方法没有返回值 所以b是无类型
2、
  1. >>> a = [1, 2, 3]
  2. >>> b = a
复制代码

a,b全部指向列表[1,2,3]
但是你重新 a = [4, 5, 6], a就会重新指向 列表[4,5,6]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 15:48:27 | 显示全部楼层
因为 python 任何函数方法都是有返回结果的,你这里:
  1. b = a.append(2)
复制代码

中的:
  1. a.append(2)
复制代码

返回的结果是 "None" ,因为当函数没有返回值时,便会返回 "None" !
所以赋值给 b 之后,b 的类型当然就是没有类型 "NoneType" 啦!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 15:50:29 | 显示全部楼层
懂了吗?不懂可以再问!懂了就给个好评呗!!!

打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 15:51:33 From FishC Mobile | 显示全部楼层
第1个问题,a.append()是调用一个方法给列表中添加元素,没有生成任何值,只是一个操作,不是给变量赋值用的,所以返回nonetype
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 15:53:38 From FishC Mobile | 显示全部楼层
第二个问题我也不知道为啥,问小甲鱼吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 16:03:14 | 显示全部楼层
尽然忘记解第二题了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 16:07:16 | 显示全部楼层
python爱好者. 发表于 2022-2-23 16:03
尽然忘记解第二题了

第二题讲解
答案部分第 1 题!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 05:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表