学些 Python 中的几个知识点

之前只是简单会用,现在重新按照官网的 Tutorial 来学

python 中一切变量都是引用(指针)

对于内置类型来说,有不可变类型和可变类型之分,不可变类型的意思是不能重新赋值,需要重新生成一个新对象,因此使用 operator= 相当于是做深拷贝。可变类型则不同, operator= 只是浅拷贝。
可变对象: list , dict, set
不可变对象:tuple, string, int, float, bool

最简单的例子:

def func(ll):
    ll.append(42)

ll = [1, 2]
func(ll)
print(str(ll))  #输出 [1, 2, 42]

虽然函数传参是 pass by value,但是那只是指针值的value
对于 list 来说,使用 [:] 可以构建一个全新的 deep copy。

猜你喜欢

转载自www.cnblogs.com/daghlny/p/9933545.html
今日推荐