前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中类的访问限制

python中类的访问限制

作者头像
算法与编程之美
发布2023-11-05 13:53:03
1470
发布2023-11-05 13:53:03
举报
文章被收录于专栏:算法与编程之美

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方法进行外部访问限制,未来可以继续研究如何节省码量实现访问限制。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档