#! /usr/bin/python
class my_class:
# 1. __init__
def __init__(self):
self.my_set = set()
# 2. __init__
#def __init__(self, arg_set = set()):
# self.my_set = arg_set
c1 = my_class()
c1.my_set.add('a')
print c1.my_set
c2 = my_class()
c2.my_set.add('b')
print c1.my_set
my_class 有两种定义方式__init__
:
如果我使用第一种方式,输出如预期:
set(['a'])
set(['a'])
如果我使用第二种方式,输出是意外的:
set(['a'])
set(['a', 'b'])
第二种方式有什么问题?修改 C2(一个单独的对象)如何导致修改 c1?
Edit: Updated the question title to reflect specific area of concern