我一直在在线学习Python 3课程,并且进行了一次练习。 您应该编写一个名为Foo的类,该类具有一个名为x的属性,该属性是根据以下规则设置的:
创建Foo类时,x的初始值为0。 将x设置为数字时: 如果该数字为非负数,则其右边的两位数字存储在x中。
p = Foo()
print(p.x)----->输出:0
p.x = 123
print(p.x)----->输出:23
我只是想知道x是如何通过对象获得赋值的。
>>> p=Foo()
>>> p.x = 1234
>>> p.x == 34
True
>>> type(p.x)
<class 'int'>
答案 0 :(得分:0)
class Foo():
def __init__(self):
self.n=0
@property
def x(self):
return self.n
@x.setter
def x(self, num):
if num<100 and num>=0:
self.n=num
elif num>100 and num%100!=0 :
self.n=num%100
elif num<0:
self.n=-1
else:
self.n=0