不可变对象=》可哈希
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的
a = "abc"
b = a.replace('a','A') #对不可变对象的方法调用,会返回一个全新的实例
a is b
=>false
对于可变对象方法的调用,会改变
list
set
dict
不可变对象=》可哈希
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的
a = "abc"
b = a.replace('a','A') #对不可变对象的方法调用,会返回一个全新的实例
a is b
=>false
对于可变对象方法的调用,会改变
list
set
dict