Python对象管理与字符串操作全解析
1. 对象管理
在Python中,对象管理是一个重要的概念,尤其是在处理可变对象时。可变对象的值通常包含对其他对象的引用,例如列表中的元素或字典中的键值对。当复制一个可变对象时,复制对象可能有一个新的命名空间,但它包含的引用与原对象相同。
1.1 浅拷贝
浅拷贝只复制对象的一层结构,即只复制对象的引用,而不复制对象本身。以下是一个浅拷贝的示例:
a = {'a': [1, 2, 3], 'b': [4, 5, 6]}
b = a.copy()
a['a'].append(4)
b['b'].append(7)
print(a) # {'a': [1, 2, 3, 4], 'b': [4, 5, 6, 7]}
print(b) # {'a': [1, 2, 3, 4], 'b': [4, 5, 6, 7]}
从这个例子可以看出,对复制对象的成员进行修改会反映在所有引用该对象的地方。浅拷贝在只需要修改值的第一层时很有用,例如对列表进行排序:
import copy
def sorted(original_list, key=None):
copied_list = copy.copy(original_list)
copied_list.sort(key=key)
return copied_list
a = [3, 2, 1]
b = sorted(a)
print(a) # [3, 2, 1]
print