初学Python,这么做好像有点2,凑合能用: class MyClass(): def __init__(self, n = 10): self._Field = n def __getitem__(self, range): return MyClass(self._Field) obj1 = MyClass() obj2 = obj1 obj3 = obj1[:] obj1._Field = 100 obj4 = MyClass(123) print obj1._Field, obj2._Field, obj3._Field, obj4._Field 实际输出为: >>> 100 100 10 123