为什么赋值运算符不是制作右值的副本,而是对其(在列表上)的引用,并且您必须使用切片才能制作真正的副本,该副本创建一个独立的对象,以便在一个对象上进行更改不影响对方。这是否与我迄今为止错过的语言相关的某些特定用法有关?
编辑:我理解的是C++中的
int a = 1;
int b = a;
b = 2; // does not affect a
所以我也认为这将是相同的推理,因为 Python 是用 C 开发的,并且它很可能使用指针来处理它。用一些简单的代码:
int a = 1;
/*int b = a;*/
int &b = a; /* what python does as I understood, if so why it does that this way?*/
这样是不是更清楚了?
我问的更多是一个比较问题,我应该更清楚,我同意;-)
最佳答案
我最近发布了一个answer正是讨论了这个问题。
关于python - python中的引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5580486/