|
但是,今天有个新的问题:
比如下面这段代码:
#!user/bin/python
# -*- coding: UTF-8 -*-
#import sys
#sys.setrecursionlimit(10000)
class dice(object):
def __init__(self):
self._color = 1 #设置成私有属性
@staticmethod
def sum_number(sum):
return color+1
@classmethod
def gen_dice(cls,color):
return cls(color,cls.sum_number(color))
@property
def color(self):
return self._color
@color.setter
def color(self,color):
if 0 < color < 7:
self._color = color
else:
print("set failure!")
def set_color(self,color): #定义方法set_color
print('color:',color)
self.color = color
if __name__ == '__main__':
d = dice()
d.color = 7
print d.color
d.color = 5
print d.color
print(d.sum_number)
执行后的结果为:
set failure!
1
5
<function sum_number at 0x028DF030>
为什么sum_number这个静态方法没有按照预期的生效?
|
|