Python对象的私有属性和私有方法
2023-06-13 09:12:06 时间
一、应用场景和定义方式
应用场景
1. 在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到
2. 私有属性就是对象不希望公开的属性
3. 私有方法就是对象不希望公开的方法
定义方式:
在定义属性或方式时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或发方法。
如:一般女人的年龄是属于比较隐私的
Women |
---|
Name__age |
__init__(self, name)__secret(self) |
代码:
class Women():
def __init__(self, name):
self.name = name
self.age = 28
def secret(self):
print("%s的年龄是 %d" % (self.name, self.age))
xiaoxia = Women("小夏")
print(xiaoxia.age)
xiaoxia.secret()
执行结果:
1.下面利用私有属性来修改代码:
执行结果:报错——告诉我们女人这个对象没有__age属性
总结:私有属性在外界是不能够被直接访问的
2. 把print(xiaoxia.__age)这段代码注释掉,来看看带有私有私有属性的方法能不能执行
答案:可以执行
总结:在对象的方法内部,是可以访问对象的私有属性的
3. 看看私有方法能不能执行,修改代码:
总结:私有方法在外界也是不能够被直接访问的
二、【科普】伪私有属性和伪私有方法
提示:在日常开发中,不要使用这种方式,访问对象的私有属性或私有方法。
Python中,并没真正意义的私有。
1. 在给属性、方法命名时,实际是对名称做了一些特殊处理,使得外界无法访问到
2. 处理方式:在名称前面加上 _类名 =》 _类名_名称
把私有属性和私有方法改造后让其在外界也能被访问到:
改造之前:
改造之后:
在日常开发中并不要去访问对象的私有属性或者私有方法,因为私有属性和私有方法是对象的隐私,既然是隐私在外界就不要轻易去访问。
更多关于Python基础教程和进阶知识都可以去Python自学网学习,还有Python学习路线讲解。
相关文章
- python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」
- 设置pycharm背景颜色_python设置背景颜色
- python jieba库_Python jieba库的使用说明「建议收藏」
- python整除和取余写法_Python的整除和取余[通俗易懂]
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python类的两种属性
- 【说站】python三种属性管理魔法函数
- python get请求
- 正则表达式Python_python正则表达式匹配字符串
- eval在python中是什么意思_如何在Python中使用eval ?
- python通过爬取汽车之家分析新能源汽车趋势
- Python split()方法详解:分割字符串
- Python_Day35_Socket模块3和hmac模块详解编程语言
- 快速查询MySQL数据库:Python篇(python查询mysql数据库)
- Linux查看Python安装路径的方法(linux查看python安装路径)
- Python爬取MySQL数据,助力数据分析(python读取mysql数据)
- MySQL与Python的协同运行:一种全新的开发体验(mysql与python)
- 基于python编写的微博应用
- python私有属性和方法实例分析
- Python的类实例属性访问规则探讨