私は自分のクラスの最初のインスタンスを作成すると完全に動作します。しかし、私が2番目のインスタンスを作成しようとすると、私はTypeErrorを取得します。 'str'オブジェクトは呼び出し可能ではありません。でクラスのインスタンスを複数作成できないのはなぜですか?
class Settlement:
def __init__(self):
self.name()
.
.
.
First_Name = [list items here]
Second_Name = [list items here]
.
.
.
def name(self):
first = Settlement.First_Name[random.randint(0, (len(Settlement.First_Name)-1))]
second = Settlement.Second_Name[random.randint(0, (len(Settlement.Second_Name)-1))]
Settlement.name = "Name: "+ first+second
MySettlement = Settlement()
MySettlement2 = Settlement()
ことができます1)あなたのインデントを修正し、2)実際にクラスのインスタンスを作成する場所を表示しますか?また、インスタンスレベルの属性を使用していないので、インスタンスはクラスレベルのものを共有します。 –
これは別としてですが、 'random.int'の代わりに' random.choice'を使用してください。 –
1と2ですが、私は最後の部分を理解しているかどうかわかりませんが、それは私の問題の原因かもしれないようですね。 –