Python类如何定义私有变量
作者:啄木先生 发布时间:2023-04-18 11:23:23
标签:Python,私有,变量
这篇文章主要介绍了Python类如何定义私有变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
前言
在java 的类中,如果你要定义一个私有变量,可以用修饰词 private,那么在Python 的类中呢,Python中没public private之类的修饰词,那Python 是如何定义私有变量的呢?
私有变量
在Python 类中定义私有变量,只要在变量前加 __ (两个下划线) ,那么该类的实例就不能引用了,看下面实例
>>> class demo(object):
... __a =1
... b = 2
...
>>> d = demo()
>>> print(d.b)
>>> d.__a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'demo' object has no attribute '__a'
从上面的示例中可以看到,类demo的实例d可以不能调用变量__a,那实例d 有没有办法调用到__a呢,看下面的调用语法:
>>> d._demo__a
1
实例名+'_'+类名+私有变量 ,就能调用。大家记住这样的语法。
私有方法
私有方法同私有变量的语法也是一样的,我们直接看示例:
>>> class fun(object):
... def __a(self):
... print('聚焦学院AAA')
... def b(self):
... print('聚焦学院BBB')
...
>>> f = fun()
>>> f.b()
聚焦学院BBB
>>> f.__a()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'fun' object has no attribute '__a'
>>> f._fun__a()
聚焦学院AAA
从上面的示例中可以看到,类的实例要调用私有方法也是和调用私有变量的语法一样。
来源:https://www.cnblogs.com/techfix/p/12248407.html


猜你喜欢
- 引言近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法。但总觉得印象不深刻,不是太了解meshgrid的应
- 1.汇率换算程序案例描述设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反案例分析分析问题:分析问题的计算部分;确定问题:将问题划
- 列表转化为字符串如下所示:>>> list1=['ak','uk',4]>>&
- 为大家提供了两种有效PyCharm激活方法,第一种PyCharm激活方法是直接输入激活码,一般PyCharm激活使用的人多了会被官方封,所以
- 前言Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"
- 继上一篇计算checksum校验和,本章通过socket套接字,struct字节打包成二进制,select返回套接字的文件描述符的结合,实现
- 题目描述997. 找到小镇的法官 - 力扣(LeetCode)小镇里有 n 个人,按从 1 到 n 的顺序编号。传言称,这些人中有一个暗地里
- 灰度图像染成红色和黄色# 1.将灰度图像转换为RGB图像image = color.gray2rgb(grayscale_image)# 2
- 整理了一些JS的常用方法,包括验证啊,全选反选啊,ajax请求啊之类的,因为就是自己用的,写的都比较简单,就算抛砖引玉吧,喜欢的就拿去,不喜
- 当系统出现故障时,只要存在数据日志那么就可以利用它来恢复数据解决数据库故障。作为SQL Server数据库管理员,了解数据日志文件的作用,以
- 在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymysqlimport request
- Python 是一种美丽的语言,它简单易用却非常强大。但你真的会用 Python 的所有功能吗?任何编程语言的高级特征通常都是通过大量的使用
- 前言我们项目中总是避免不了要使用一些定时任务,比如说最近的项目,用户点击报名考试以后需要在考试日期临近的时候推送小程序消息提醒到客户微信上,
- MySQL中,常常会看到一些关于动态字符串的处理,列如:DYNAMIC_STRING。为了记录动态字符串的实际长度,缓冲区的最大长度,以及每
- 注意:myemployees库和shoppingCart库在同一台物理主机,如果不在同一台物理主机该怎么办呢?下面我会介绍到。情况一2个库在
- 计时器和延时器的概念 //--计时器 // 计时器ID号 setInterval(回调函数, 毫秒数); // 每隔指定毫秒数,调用一次回调
- 1.定义aiohttp 是一个基于 asyncio 的异步 HTTP 网络模块,它既提供了服务端,又提供了客户端2.基本使用import a
- 建立资料表:Step1首先开启phpmyadmin,进入wordpress资料库中,并新增一个wp_gbook的资料表与栏位数目8。Step
- From Python正则表达式re.match(pattern, string, flags=0)尝试从字符串起始位置匹配一个模式;如果不
- 本文实例讲述了Centos7.4环境安装lamp-php7.0的方法。分享给大家供大家参考,具体如下:一. 环境准备桥接模式能访问外网#pi