为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用另一个 Python 返回一个变量

如何使用另一个 Python 返回一个变量

眼眸繁星 2022-08-02 10:53:49
在使用 swift 进行大量工作之后,我习惯了以下语法:private var __privateVar = 100 // Not accessible from outside the Classpublic var public_var: Int = {    return __privateVar // Returns __privateVar, and is get-only variable}有没有办法在python 3中重现这一点?多谢
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

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

值得注意的是,您可以通过在变量前面加上双下划线(如 in )来模拟私有变量的行为,如果在类作用域中使用,则会引入名称重整。但是,这并不是万无一失的,如果您真的想,您可以随时绕过它。但是,通常,Python开发人员知道不要分配给以一个或两个下划线开头的变量。__var


查看完整回答
反对 回复 2022-08-02
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信