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 相关文章推荐
Python3 能振兴 Python的原因分析
Nov 28 Python
Python中的urllib模块使用详解
Jul 07 Python
python3实现多线程聊天室
Dec 12 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Django视图扩展类知识点详解
Oct 25 Python
jupyter lab文件导出/下载方式
Apr 22 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
Python安装并操作redis实现流程详解
Oct 13 Python
python实现过滤敏感词
May 08 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
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
php简单防盗链实现方法
2015/07/29 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
JS中使用sort结合localeCompare实现中文排序实例
2014/07/23 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
python模拟鼠标拖动操作的方法
2015/03/11 Python
给Python入门者的一些编程建议
2015/06/15 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
对python中的高效迭代器函数详解
2018/10/18 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
专升本个人自我评价
2013/12/22 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
五年级学生评语大全
2014/12/26 职场文书
同学毕业留言寄语
2015/02/27 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL