Python 忽略缩进并继续 运行 代码作为 VSCode 中 class 的一部分
Python ignores indentation and continues to run code as part of the class in VSCode
好吧,这个可能完全是愚蠢的,但是就这样吧。我使用 VSCode 在 python 中创建了一个简单的 class。
然后我创建了一个 class 的实例,它只保留 运行 并创建实例直到我得到
RecursionError:超出最大递归深度,就好像未缩进的代码是 class.
的一部分
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 设置中所设置。我错过了什么?
self.money
调用 setter,后者调用 setter,后者...
您必须重命名属性:
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
好吧,这个可能完全是愚蠢的,但是就这样吧。我使用 VSCode 在 python 中创建了一个简单的 class。 然后我创建了一个 class 的实例,它只保留 运行 并创建实例直到我得到 RecursionError:超出最大递归深度,就好像未缩进的代码是 class.
的一部分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 设置中所设置。我错过了什么?
self.money
调用 setter,后者调用 setter,后者...
您必须重命名属性:
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