我有一个关于性能的问题。 如果我将一个可变对象传递给一个函数并且对该对象进行了更改,我知道在 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 没有返回任何东西,所以它唯一能做的就是就地洗牌。
性能在这里无关紧要。
