首页 > 解决方案 > 在 `setter` 内置方法中添加 `return self.__num` 语句有什么区别吗?

问题描述

class A():
    def __init__(self):
        self.__num = 0

    @property
    def num(self):
        return self.__num 

    @num.setter
    def num(self, new_num):
        print("setter worked")
        self.__num = new_num
        # return self.__num


var = A()
print(var.num) # Output: 0
print(var._A__num) # Output: 0
var.num = 1 # Output: setter worked
print(var.num) # Output: 1
print(var._A__num) # Output: 1

输出:

0
0
setter worked
1
1

在函数中添加return self.__num语句有区别吗?num(self, new_num)即使他们都正确地完成了工作,我也不明白其中的区别。

标签: pythonpython-3.xclassproperties

解决方案


推荐阅读