如何解决无法在 Python 中的单个类中设置两个属性方法
所以,我想定义一个类并设置一个属性以避免输入错误。代码如下:
class Coordinate():
def __init__(self,x,y):
self.x = x
self.y = y**
@property
def x(self):
return self.x
@x.setter
def x(self,x):
if x < 0:
print("First quartel required")
self.x = x
@property
def y(self):
return self.y
@y.setter
def y(self,y):
if y < 0:
print("First quartel required")
self.y = y
point = Coordinate(-1,3)
print(point.x)
当我运行它时,我收到此错误:
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
First quartel required
Traceback (most recent call last):
File "c:\Users\davud\Desktop\projects\Popular Packages\property.py",line 28,in <module>
point = Coordinate(-1,3)
File "c:\Users\davud\Desktop\projects\Popular Packages\property.py",line 3,in __init__
self.x = x
File "c:\Users\davud\Desktop\projects\Popular Packages\property.py",line 15,in x
self.x = x
File "c:\Users\davud\Desktop\projects\Popular Packages\property.py",in x
self.x = x
[Previous line repeated 990 more times]
File "c:\Users\davud\Desktop\projects\Popular Packages\property.py",line 14,in x
print("First quartel required")
File "c:\users\davud\appdata\local\programs\python\python38-32\lib\encodings\cp1252.py",line 19,in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
RecursionError: maximum recursion depth exceeded while calling a Python object
我感谢任何建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。