gpt4 book ai didi

Python 方法 : modify original vs return a different object

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:48 25 4
gpt4 key购买 nike

我是 Python 和面向对象编程的新手,有一个非常基本的 101 问题:

我看到一些方法返回修改后的对象,并保留原始对象:

In: x="hello"
In: x.upper()
Out: 'HELLO'
In: x
Out: 'hello'

我看到其他方法修改并覆盖了原始对象:

In: y=[1,2,3]
In: y.pop(0)
Out: 1
In: y
Out: [2, 3]

这些都是常态吗?对于给定的类和方法,有没有办法知道我正在处理哪种情况?

最佳答案

您的示例显示了不可变内置对象(例如字符串和元组)与可变对象(例如列表、字典和集合)之间的区别。

一般来说,如果一个类(对象)被描述为不可变的,您应该期望前者的行为,以及可变对象的后者。

关于Python 方法 : modify original vs return a different object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40711574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com