【发布时间】:2023-04-02 12:45:01
【问题描述】:
我正在Python
中编写一个银行应用程序,并从这里Banking Application 读取一些源代码。 balance
类定义如下:
class Balance(object):
""" the balance class includes the balance operations """
def __init__(self):
""" instantiate the class """
self.total = 0
def add(self, value):
""" add value to the total
Args:
value (int): numeric value
"""
value = int(value)
self.total += value
def subtract(self, value):
""" subtract value from the total
Args:
value (int): numeric value
"""
value = int(value)
self.total -= value
我的问题
由于不应该在类之外访问余额详细信息,我们应该将属性self.total
定义为self.__total
,因为我们应该将其设为private
而不是public
变量?我的思路在这里正确吗?
【问题讨论】:
-
Python 中没有私有成员变量这样的东西。双下划线名称是为了避免被子类意外覆盖。
-
是的。您仍然可以访问 self.__total,但名称将是
B = Balance(); B._Balance__total
。 -
@python:你不知道。你把它命名为
_total
,它文档是其他代码不应该访问的。但是你不能阻止访问,Python 希望每个人都表现得像负责任的成年人。
标签:
python
python-2.7
oop
private-members
public-members
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中声明私有变量[重复] - Python技术站