Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python奇怪属性_Python_Class_Oop_Attributes - Fatal编程技术网

Python奇怪属性

Python奇怪属性,python,class,oop,attributes,Python,Class,Oop,Attributes,我一直在学习在线Python 3课程,并且有一个练习。 您应该编写一个名为Foo的类,该类具有一个名为x的属性,该属性是根据以下规则设置的: 创建Foo类时,x的初始值为0。 使用数字设置x时: 如果数字为非负,则其右侧的两位数字存储在x中 p=Foo() 打印(p.x)--->输出:0 p、 x=123 打印(p.x)--->输出:23 我只是想知道x是如何通过对象得到赋值的 >>> p=Foo() >>> p.x = 1234 >>>

我一直在学习在线Python 3课程,并且有一个练习。 您应该编写一个名为Foo的类,该类具有一个名为x的属性,该属性是根据以下规则设置的:

  • 创建Foo类时,x的初始值为0。 使用数字设置x时: 如果数字为非负,则其右侧的两位数字存储在x中

    p=Foo()

    打印(p.x)--->输出:0

    p、 x=123

    打印(p.x)--->输出:23

我只是想知道x是如何通过对象得到赋值的

>>> p=Foo()
>>> p.x = 1234
>>> p.x == 34
True
>>> type(p.x)
<class 'int'>
p=Foo() >>>p.x=1234 >>>p.x==34 真的 >>>类型(p.x)
class Foo():
定义初始化(自):
self.n=0
@财产
def x(自我):
返回自我
@x、 塞特
def x(self,num):
如果num=0:
self.n=num
elif num>100和num%100=0 :
self.n=num%100
elif numRead关于属性的信息,例如。
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