Python忽略缩进,并继续在VSCode中作为类的一部分运行代码

问题描述 投票:0回答:1

好吧,这个人可能完全是愚蠢的,但这是可行的。我使用VSCode在python中创建了一个简单的类。然后,我创建该类的一个实例,它一直运行并创建实例,直到得到为止RecursionError:超过最大递归深度,就好像未缩进的代码是该类的一部分。

class Account:
   def __init__(self, initialCash):
      self.money = initialCash
      print("New account created. Initial budget: " + self.money)

   @property
   def money(self):
      return self.money

   @money.setter
   def money(self, value):
      self.money = value

account2 = Account(100)

缩进为3个空格,自动设置,如VSCode设置中所设置。我想念什么?

python-3.x class oop recursion indentation
1个回答
0
投票

[self.money调用设置器,调用设置器,...

您必须重命名属性:

class Account:
    def __init__(self, initial_cash):
        self._money = initial_cash
        print(f"New account created. Initial budget: {self.money}")

    @property
    def money(self):
        return self._money

    @money.setter
    def money(self, value):
        self._money = value
© www.soinside.com 2019 - 2024. All rights reserved.