我有一个关于性能的问题。
如果我将一个可变对象传递给一个函数并且对该对象进行了更改,我知道在 python 中它会更改该值并且所有指针都将指向已更改的值。
但是怎样写代码才是正确的呢?
我是否应该使用 return
语句并重新分配指向函数输出的指针,以向读取代码的人显示正在更改的代码?
如果您预先分配一个指向它已经指向的同一内存的指针,会对性能造成多大影响?
谢谢!
最佳答案
Should use the return statement and assign all over again the pointer to the output of the function to show to the one that reads the code that it is being changed?
不,那会使它更困惑。如果你打算就地改变一个对象,你应该让它显而易见,并且让它显而易见的一部分是不返回同一个对象。以现有的 Python API 为灵感:
>>> import random
>>> a = [1, 2, 3]
>>> random.shuffle(a)
random.shuffle
没有返回任何东西,所以它唯一能做的就是就地洗牌。
性能在这里无关紧要。
关于python - 返回可变对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50430543/