#! /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 には、次の 2 つの定義方法があります__init__
。
最初の方法を使用すると、出力は期待どおりになります。
set(['a'])
set(['a'])
2 番目の方法を使用すると、出力が予期しないものになります。
set(['a'])
set(['a', 'b'])
2番目の方法の何が問題になっていますか?C2 (別のオブジェクト) を変更すると、どのようにして c1 が変更されるのでしょうか?
Edit: Updated the question title to reflect specific area of concern