内联事物的目的是能够通过比较它们的内存地址来进行比较。您要确保永远不要创建两个具有相同值的对象(当程序请求创建一个与现有对象具有相同值的第二个对象时,它会收到对先前存在的对象的引用)。这要求你要实习的东西是不变的 ; 如果一个被拘禁对象的值可以改变,那么按地址比较它们是行不通的。
在Python中,无法强制执行用户定义的类实例的不变性,因此,对它们进行实习并不安全。我怀疑这是实习生不覆盖类实例的主要理论原因。
其他内置的不可变类型或者已经可以在单个机器级别的操作中进行比较(int,float等),或者 可以包含可变值的 不可变容器(元组,frozenset)。无需实习前者,也不能安全地实习后者。