+=的疑问

来源:7-4 一个经典的参数错误

宗介呀

2021-02-08

老师我有两个问题:

  1. 如果说对于复杂参数传的是引用那么为何a=a+b就没问题呢?相反a+=b就有问题?
  2. 如果说既然已经实例话了com2,和com3,内存中com2和com3的数据不应该单独开来吗?Company.init.__defaults__为何这个却能共享呢?这内存中是如何存储的呀?
写回答

2回答

bobby

2021-02-12

你的第二个问题是参数传递的 默认的列表把,默认的列表那么函数创建之初会将这个空的list放在 __defaults__中

0
0

宗介呀

提问者

2021-02-08

第一个问题明白了,a+= b 前面的a内存地址不变,如果是a = a+b的话a内存地址变了


0
0

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程