我正在尝试在这个简单的类中实现getter和setter:
class Person:
def __init__(self, n):
self.name = n
def get_name(self):
return self.name
def set_name(self, n):
self.name = n
name = property(get_name, set_name)
p = Person('Lewis')
p.name = 'Philo'
看起来非常简单明了,但是不知何故它还是无法正常工作,我错过了什么?请帮我找出我的错误理解所在。
我得到了以下错误。
Traceback (most recent call last):
File "/Users/napoleon/python-play/oops/person.py", line 15, in <module>
p = Person('Lewis')
File "/Users/napoleon/python-play/oops/person.py", line 4, in __init__
self.name = n
File "/Users/napoleon/python-play/oops/person.py", line 10, in set_name
self.name = n
File "/Users/napoleon/python-play/oops/person.py", line 10, in set_name
self.name = n
File "/Users/napoleon/python-play/oops/person.py", line 10, in set_name
self.name = n
[Previous line repeated 994 more times]
RecursionError: maximum recursion depth exceeded