面试题答案
一键面试在Python中,并没有严格意义上的访问权限控制,通常约定以单下划线 _
开头的属性为 “受保护” 属性,双下划线 __
开头的属性为 “私有” 属性(但实际也可通过特殊方式访问)。
定义一个具有私有属性的类,并提供公共方法来访问和修改该私有属性示例如下:
class MyClass:
def __init__(self):
self.__private_attr = 0 # 私有属性
def get_private_attr(self):
return self.__private_attr
def set_private_attr(self, value):
if isinstance(value, int) and value >= 0:
self.__private_attr = value
else:
print("Value must be a non - negative integer.")
使用示例:
obj = MyClass()
print(obj.get_private_attr()) # 访问私有属性
obj.set_private_attr(10) # 修改私有属性
print(obj.get_private_attr())