python中类的访问限制

2023-11-05 13:53:03 浏览数 (2)

1 问题

如果从外部对函数里面重要的属性进行任意修改,有可能程序崩溃只是因为一次不经意的参数修改。那么如何对属性进行访问限制从而增强程序的健壮性呢?

2 方法

要让内部属性不被外部访问,可以把在属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问如std.__name访问报错。

代码清单 1

代码语言:javascript复制
class Student():
   def __init__(self,height,weight):
       self.__height=height
       self.__weight=weight
   def getheight(self):
      return self.__height
   def setweight(self):
       return self.__weight
xiaoming=Student(180,70)
xiaoming.getheight()
print(xiaoming.getheight())

3 结语

针对如何进行访问限制以及可以对其修改属性的值的问题,提出在名称前面加上两个下划线和内部创建set和get函数的方法,通过以上实验,证明该方法是有效的,当设置set,get时代码会比较繁琐,这个可以通过使用@property装饰器代替set,get方法进行外部访问限制,未来可以继续研究如何节省码量实现访问限制。

0 人点赞