Python类如何定义私有变量

作者:啄木先生 时间:2023-04-18 11:23:23 

这篇文章主要介绍了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

标签:Python,私有,变量
0
投稿

猜你喜欢

  • ASP.NET MVC使用区域(Area)功能

    2024-06-05 09:25:04
  • python中的list字符串元素排序

    2022-03-14 12:27:14
  • python中format的用法实例详解

    2023-08-03 12:27:28
  • 巧用Dreamweaver MX设计导航栏特效

    2009-07-10 13:17:00
  • 用Python生成会跳舞的美女

    2023-04-04 11:52:09
  • 使用Python批量修改文件名的代码实例

    2022-03-21 04:02:53
  • 关于document.createDocumentFragment()

    2009-04-05 16:04:00
  • python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    2021-01-03 05:25:29
  • python中如何使用insert函数

    2023-08-02 17:04:43
  • python自制包并用pip免提交到pypi仅安装到本机【推荐】

    2023-12-14 19:33:23
  • mysql复制中临时表的运用技巧

    2024-01-20 10:51:49
  • Python操作Redis数据库的超详细教程

    2024-01-13 04:37:30
  • Yii开启片段缓存的方法

    2023-11-21 05:00:40
  • python实现感知器算法详解

    2022-04-29 15:08:43
  • 跟老齐学Python之啰嗦的除法

    2022-12-18 12:47:38
  • javascript DOM实用学习资料第1/3页

    2024-04-25 13:09:44
  • tensorflow实现将ckpt转pb文件的方法

    2023-03-24 19:05:05
  • JavaScript学习笔记整理_用于模式匹配的String方法

    2024-06-05 09:53:02
  • vue axios二次封装的详细解析

    2024-01-18 01:43:44
  • 通过gradio和摄像头获取照片和视频实现过程

    2023-07-08 18:02:30
  • asp之家 网络编程 m.aspxhome.com