我的朋友們,我檢查我的語法代碼是正確的,同志們,謝謝你的幫助
我的代碼:
class person:
def __init__(self,name,family):
self.name = name
self.family = family
@property
def fullname(self):
return f"{self.name} {self.family}"
class user(person):
def __init__(self,name,family,age):
super().__init__(name,family)
self.age = age
@property
def age(self):
return self.age
@age.setter
def age(self,age_new):
self.age = age_new
emanuel = user("emanuel","victor",15)
print(emanuel.fullname)
print(emanuel.age)
emanuel.age = 20
print(emanuel.age)
錯誤:同志們,我正在訓練,我得到了很多錯誤,但是我真的能做些什么呢?
Traceback (most recent call last):
File "main.py", line 20, in <module>
emanuel = user("emanuel","victor",15)
File "main.py", line 12, in __init__
self.age = age
File "main.py", line 18, in age
self.age = age_new
File "main.py", line 18, in age
self.age = age_new
File "main.py", line 18, in age
self.age = age_new
[Previous line repeated 994 more times]
RecursionError: maximum recursion depth exceeded
uj5u.com熱心網友回復:
您需要使用與您的屬性不同名稱的屬性。否則,當您嘗試self.age從 setter 方法內部進行設定時,setter 會呼叫自身。
試試這個:
class User(Person):
def __init__(self, name, family,age):
super().__init__(name, family)
self._age = age
@property
def age(self):
return self._age
@age.setter
def age(self, age_new):
self._age = age_new
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/483182.html
標籤:Python
上一篇:遍歷列和映射值
下一篇:如何繪制兩個相鄰的分組條形圖
