Discuss / Python / 疑问???

疑问???

Topic source

例子中的set函数仅有一个参数(self不算),那么当具有两个参数的时候,怎么用@property来将方法变成属性??

比如将函数改成如下形式:

   @score.setter
    def score(self,value,name):
        if not isinstance(value,int):
            raise ValueError('value must be integer')

        if value < 0 or value > 100:
            raise ValueError('score must between 0-100')

        self._score=value
        self._name=name

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

定义两个

@xxx.setter
def xxx(self, value):
    pass

zhanglianyue

#4 Created at ... [Delete] [Delete and Lock User]

同问廖老师,我觉得上面那位同学的意思是,能不能在一个setter方法中,同时为两个属性赋值?如果定义两个 @xxx.setter 方法的话,应该是可以的,只要分开使用即可。

廖雪峰

#5 Created at ... [Delete] [Delete and Lock User]

一个方法只完成一个功能,不要搞复杂了


  • 1

Reply