Python 类的私有属性和私有方法实例分析


Posted in Python onSeptember 29, 2019

本文实例讲述了Python 类的私有属性和私有方法。分享给大家供大家参考,具体如下:

xx:公有变量

_xx:公有变量或方法,不能通过import导入其他模块(只有模块内部使用)。类对象和子类可以访问

__xx:私有变量或方法(伪私有),类外部不能直接访问。

__xx__:公有变量或方法,子类可以访问。魔法方法或属性(例如:__init__),不推荐这样命名。

xx_:公有变量或方法。一般为了避免和python关键字冲突,不推荐这样命名。

在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

demo.py(私有属性,私有方法):

class Women:
  # 定义属性和方法时,属性名或方法名前增加两个下划线__表示私有属性或私有方法
  def __init__(self, name):
    self.name = name # 公有属性,外界可以直接访问
    self.__age = 18  # 私有属性,外界及其子类不能直接访问
  # 私有方法,外界不能直接访问
  def __secret(self):
    # 对象内部可以直接访问对象的私有属性
    print("%s 的年龄是 %d" % (self.name, self.__age))
xiaofang = Women("小芳")
# 私有属性,在外界或其子类不能够被直接访问
# print(xiaofang.__age)
# 私有方法,同样不允许在外界直接访问
# xiaofang.__secret()
# xiaofang.__age = 20  # 只是动态绑定了一个新属性,并不会影响私有的__age属性。
# 可以通过 _类名__私有属性名/方法名 的方式强行访问私有属性和私有方法 (不推荐)
print(xiaofang._Women__age)
xiaofang._Women__secret()

运行结果:

18
小芳 的年龄是 18

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python Web框架Flask中使用新浪SAE云存储实例
Feb 08 Python
Python迭代器和生成器介绍
Mar 06 Python
python写一个md5解密器示例
Feb 23 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
python3实现windows下同名进程监控
Jun 21 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
Python 列表去重去除空字符的例子
Jul 20 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
Python3 元组tuple入门基础
Feb 09 Python
Django用户身份验证完成示例代码
Apr 03 Python
python 实现压缩和解压缩的示例
Sep 22 Python
Django REST Framework之频率限制的使用
Sep 29 #Python
基于Python实现大文件分割和命名脚本过程解析
Sep 29 #Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 #Python
python使用opencv实现马赛克效果示例
Sep 28 #Python
python打包成so文件过程解析
Sep 28 #Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 #Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 #Python
You might like
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
深入浅析Python的类
2018/06/22 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
django跳转页面传参的实现
2020/09/17 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
高中生评语大全
2014/04/25 职场文书
环保倡议书范文
2014/05/12 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers