如何 return 一个变量使用另一个变量 Python

How to return a variable using another one Python

在使用 swift 进行了大量工作后,我习惯了以下语法:

private var __privateVar = 100 // Not accessible from outside the Class
public var public_var: Int = {
    return __privateVar // Returns __privateVar, and is get-only variable
}

有没有办法在 python 3 中重现这个? 非常感谢

Python 甚至没有访问修饰符的概念 - 所以如果你的意思是你想要一个私有变量,那不是你可以做的事情。您可以,但是,使用只读 属性:

class Test:
    def __init__(self):
        self._var = 'some string'

    @property
    def var(self):
        return self._var

然后,这样使用它:

obj = Test()
obj.var # works
obj.var = 'whatever' # raises AttributeError
obj._var = 'whatever' # still works

值得注意的是,您 可以 通过在变量前加上双下划线(例如 __var)在某种程度上模拟私有变量的行为,这引入了名称如果在 class 范围内使用,则进行重整。不过,这并非万无一失,如果你真的想的话,你总是可以绕过它。但是,一般来说,Python 开发人员知道不要给以一两个下划线开头的变量赋值。