Python 类的私有属性和私有方法实例分析
作者:houyanhua1 发布时间:2021-06-18 05:13:47
标签:Python,类,私有属性,私有方法
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/houyanhua1/article/details/84070313
0
投稿
猜你喜欢
- asp按关键字查询XML的问题 '-------------------------------------------------
- 案例:该数据集的是一个关于每个学生成绩的数据集,接下来我们对该数据集进行分析,判断学生是否适合继续深造数据集特征展示1 GRE
- 类视图使用装饰器为类视图添加装饰器,可以使用两种方法。为了理解方便,我们先来定义一个为函数视图准备的装饰器(在设计装饰器时基本都以函数视图作
- 上一篇:微软建议的ASP性能优化28条守则(6) 技巧 20:避免在循环语句中使用字符串串联 许多人在循环语句中建立一个字符串,如下所示:
- 在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误
- 朴素贝叶斯算法简单高效,在处理分类问题上,是应该首先考虑的方法之一。通过本教程,你将学到朴素贝叶斯算法的原理和Python版本的逐步实现。更
- mysql-5.7.17的安装在文章下面有介绍,大家可以参考下。下面先给大家介绍下Mysql 5.7.17安装后登录mysql的教程,一起看
- 这篇文章主要介绍了Python for循环搭配else常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 在多线程程序中,它们互相独立打印的时间却是错乱的!如下图,明明t-0 > t-1 > t-2 (按照线程创建时间早晚排列)。最后
- 简介Go的标准包Container中包含了常用的容器类型,包括conatiner/list,container/heap,container
- 1. 安装pip install PyExecJS # 需要注意, 包的名称:
- PWA初次体验前言:本示例不用安装任何东西部分资源来自网络资源及PWA官网,不要把PWA想象的太复杂,跟着示例走一下,你行的。PWA介绍一个
- 主要作用为指定图片像素:matplotlib.rcParams[‘figure.figsize']#图片像素 matplotlib.
- 1. Python的文件类型1. 源代码--直接由Python解析vi 1.py #!/usr/bin/pythonprint 'h
- 我们知道,关系型数据一般以规范化的形式保存,也就是说你应该尽可能少地重复数据;在正常情况下,表与表之间仅通过各种键值实现关联。进一步地讲,规
- 代码如下所示:scole = input("input your scole:")if scole>90: &nb
- 在上一篇Python接口自动化测试系列文章:Python接口自动化之浅析requests模块get请求,介绍了requests模块、get请
- 我们在进行表单设计时,可能要用到select下拉选项控件,遗憾的是,IE浏览器默认的select控件外观非常丑陋,而且不能用样式来控制,不能
- 前言最近使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块。查了网上挺多教程
- 最近一直在整理统计图表的绘制方法,发现Python中除了经典Seaborn库外,还有一些优秀的可交互的第三方库也能实现一些常见的统计图表绘制