Python面向对象程序设计之私有变量,私有方法原理与用法分析
作者:随风行云 时间:2022-04-17 01:37:50
本文实例讲述了Python面向对象程序设计之私有变量,私有方法原理与用法。分享给大家供大家参考,具体如下:
私有变量,私有方法:
python的私有化是为了规划私有属性,避免非相关的访问【假如!我有老婆,你不能直接知道我老婆是谁,你只有问我才会知道,即我的私有属性只有我知道】
在python中定义私有变量和私有方法只需要在变量名或函数名前加上 "__"两个下划线
在类内部的方法中使用时 self.__变量名或函数名。
实际上,如果真要访问私有变量和私有方法,也是可以访问的,因为实际上私有化的操作只是将变量或函数名更改了而已:
class A: _private=6 __private_value=5 def __private_func(self): print("hello") def get_private_value(self): return self.__private_valuea=A()# print(a.__private_value)###报错,找不到该属性print(a.get_private_value())print(a._A__private_value)
下例中由private_value变为了_A__private_value【即_类名__属性名】,但为了保持私有性,不建议直接使用这种方法访问
私有化变量和方法的继承:【子类不会继承基类私有属性,但仍然通过基类的函数来获取或可以强行访问】
class A:
_private=6
__private_value=5
def __private_func(self):
print("hello")
def get_private_value(self):
return self.__private_value
class B(A):
pass
b=B()
# print(b.__private_value)#报错
print(b.get_private_value())#可以使用父类的方法来获取私有属性
print(b._A__private_value)#强制访问还是可以的
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.cnblogs.com/progor/p/8424014.html
标签:Python,面向对象,私有变量,私有方法
0
投稿
猜你喜欢
python并发编程之多进程、多线程、异步和协程详解
2021-12-10 00:20:35
vue中的路由传值与重调本路由改变参数
2024-04-27 16:10:12
如何基于python3和Vue实现AES数据加密
2023-08-08 23:47:37
vue文本识别"\\n"换行问题的解决方式
2024-05-09 10:51:43
Python环境搭建过程从安装到Hello World
2023-03-03 07:41:36
python 在服务器上调用数据库特别慢的解决过程
2024-01-19 11:40:20
pycharm 如何取消连按两下shift出现的全局搜索
2023-08-24 17:44:12
python opencv实现图像矫正功能
2022-05-22 17:00:13
在Python中使用itertools模块中的组合函数的教程
2023-11-06 16:31:36
Python虚拟环境的创建和使用详解
2022-09-14 18:05:26
Python Logging 日志记录入门学习
2022-05-17 14:48:39
CSS教程:简单理解em
2008-07-03 12:44:00
一篇文章带你搞懂Python类的相关知识
2021-06-01 19:31:54
python+selenium实现QQ邮箱自动发送功能
2021-11-11 22:03:58
适合所有表的添加、删除、修改的函数
2008-04-15 15:29:00
网站数据库,是选SQL Server还是Access好
2008-05-23 13:19:00
Python如何对齐字符串
2023-05-30 01:21:11
Golang爬虫框架 colly的使用
2024-02-02 13:40:55
Python numpy之线性代数与随机漫步
2021-12-04 05:20:01
python实现搜索本地文件信息写入文件的方法
2023-01-19 10:21:47