ホームページ  >  に質問  >  本文

Python - クラスメソッドを通じてそれ自体の新しいインスタンスを返す

クラス A を定義し、独自の ID 1 を持つメソッドを持ちます。コードは次のとおりです。

リーリー

インスタンス x をクラス A、ID を 1 として定義し、x.id を出力します:

リーリー

次に、クラス A でもあるインスタンス y を作成し、クラス A の newid メソッドを使用して作成したいと思います。

リーリー

y の正確な ID は 2 として取得できますが、x の ID も変更されていることがわかります。

リーリー

元のインスタンス x を変更せずに y を正しく生成するにはどうすればよいですか? ありがとうございます!

漂亮男人漂亮男人2734日前614

全員に返信(2)返信します

  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:55:17

    def newid(self):
    self.id = self.id + 1
    return A(self.id)

    これは必ず変更されます
    なぜ変更しないまま +1 にしておきたいのですか
    return A(self.id+1) である必要があります

    返事
    0
  • 某草草

    某草草2017-05-18 10:55:17

    リーリー

    yを正しく生成してください

    正しいのは何ですか

    返事
    0
  • キャンセル返事