python - 返回可变对象

标签 python python-3.x

我有一个关于性能的问题。 如果我将一个可变对象传递给一个函数并且对该对象进行了更改,我知道在 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/

相关文章:

python - 如何覆盖两层深度的类属性?

python - Seaborn:在直方图上叠加箱线图或均值误差条

Python Confluence-Kafka SSL 配置

python - 过滤查询,然后使用 SQLAlchemy 按 id 获取行

python - 如何在 Python 2.7 中用另一个类修饰实例方法?

python - 如何使用 Python 在 Selenium 中测试 Alert/Popup

python - 当程序启动时运行Python脚本

python-3.x - 从单个图像生成图像数据集

python - 将字节写入波形文件?

python - 相关基类的设计模式