iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python私有成员与公有成员(_和__
  • 687
分享到

python私有成员与公有成员(_和__

成员python 2023-01-30 22:01:07 687人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python并没有对私有成员提供严格的访问保护机制。 在定义类的成员时,如果成员名以两个下划线“__”或更多下划线开头而不以两个或更多下划线结束则表示是私有成员。 私有成员在类的外部不能直接访问,需要通过调用对象的公开成员方法来访问,

python并没有对私有成员提供严格的访问保护机制。

  • 在定义类的成员时,如果成员名以两个下划线“__”或更多下划线开头而不以两个或更多下划线结束则表示是私有成员。
  • 私有成员在类的外部不能直接访问,需要通过调用对象的公开成员方法来访问,也可以通过Python支持的特殊方式来访问。
 1 class A:
 2     def __init__(self, value1 = 0, value2 = 0):
 3         self._value1 = value1
 4         self.__value2 = value2
 5     def setValue(self, value1, value2):
 6         self._value1 = value1
 7         self.__value2 = value2
 8     def show(self):
 9         print(self._value1)
10         print(self.__value2)
11 
12 >>> a = A()
13 >>> a._value1
14 0
15 >>> a._A__value2         # 在外部访问对象的私有数据成员
16 0
在Python中,以下划线开头的变量名和方法名有特殊的含义,尤其是在类的定义中。
  • _xxx:受保护成员,不能用"from module import *"导入
  • __xxx__:系统定义的特殊成员
  • __xxx:私有成员,只有类对象自己能访问,子类对象不能直接访问到这个成员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式来访问
Python中不存在严格意义上的私有成员。
 1 class Fruit:
 2     def __init__(self):
 3         self.__color = 'Red'
 4         self.price = 1
 5 >>> apple = Fruit()
 6 >>> apple.price                               # 显示对象公开数据成员的值
 7 1
 8 >>> print(apple.price, apple._Fruit__color)   # 显示对象私有数据成员的值
 9 1 Red
10 >>> apple.price = 2                           # 修改对象公开数据成员的值
11 >>> apple._Fruit__color = "Blue"              # 修改对象私有数据成员的值
12 >>> print(apple.price, apple._Fruit__color)
13 2 Blue
14 >>> print(apple.__color)                      # 不能直接访问对象的私有数据成员,出错
15 AttributeError:Fruit instance has no attribute '__color'

在程序中,可以使用一个下划线“_”来表示不关心该变量的值。

1 for _ in range(5):
2     print(3, end=' ')     # 此处的3可以为任意值,输出结果为重复5次的值。若改为print(_, end=' ');>>>0 1 2 3 4
3 3 3 3 3 3
4 >>> a, _ = divmod(60, 18) # 只关心整商,不关心余数。
5 >>> a                     # 即等价于a = 60//18
6 3

--结束END--

本文标题: python私有成员与公有成员(_和__

本文链接: https://www.lsjlt.com/news/179724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python私有成员与公有成员(_和__
    python并没有对私有成员提供严格的访问保护机制。 在定义类的成员时,如果成员名以两个下划线“__”或更多下划线开头而不以两个或更多下划线结束则表示是私有成员。 私有成员在类的外部不能直接访问,需要通过调用对象的公开成员方法来访问,...
    99+
    2023-01-30
    成员 python
  • JavaScript 中创建私有成员
    目录1.使用闭包2.使用 ES6 类3.使用 ES2020 提案4.使用 WeakMap5.使用 TypeScript前言: 面向对象编程语言中的 private 关键字是一个访问修...
    99+
    2022-11-12
  • 如何访问python的私有成员函数
    访问python私有成员函数的方法class Plane():# 私有属性__air_sister = "20个"# 公有绑定方法def fly(self):print("飞机会飞")# 公有普通方法def fly2():print("飞机...
    99+
    2022-10-06
  • JavaScript 中怎样创建私有成员
    JavaScript 中怎样创建私有成员,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言:面向对象编程语言中的 private 关键字是一个访问修饰符,可用于使属性...
    99+
    2023-06-22
  • C#中怎么访问私有成员
    这期内容当中小编将会给大家带来有关C#中怎么访问私有成员,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先访问一个类的私有成员不是什么好做法。大家都知道私有成员在外部是不能被访问的。一个类中会存在很多私有...
    99+
    2023-06-17
  • python封装中私有成员指的是什么
    这篇文章将为大家详细讲解有关python封装中私有成员指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题...
    99+
    2023-06-14
  • java如何定义私有成员变量
    在Java中,可以使用关键字 `private` 来定义私有成员变量。私有成员变量只能在定义它的类的内部访问,其他类无法直接访问或修...
    99+
    2023-08-23
    java
  • 改变C++中私有变量成员的值
    没有引用的情况: #include #include using namespace std;class Person{public: queueque;public: queue getQueue() { ...
    99+
    2023-09-08
    c++ 算法 开发语言
  • 类的私有成员可在何处访问
    类的私有成员可在本类的成员函数中进行访问。 类的私有成员在派生类中是隐藏的,只能在基类的成员函数中访问。Java中的私有成员使用private来进行修饰。(推荐学习:Java视频教程)私有成员只能在本类中调用,在本类以外一律都看不到。如果要...
    99+
    2017-07-01
    java教程 class 私有成员
  • JavaScript中私有成员的作用是什么
    这期内容当中小编将会给大家带来有关JavaScript中私有成员的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。class BaseView ...
    99+
    2022-10-19
  • JavaScript 对象中怎么嵌入私有成员
    JavaScript 对象中怎么嵌入私有成员,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 为何要用私有成员(Private Memb...
    99+
    2022-10-19
  • Javascript中的私有成员是什么意思
    这篇文章主要介绍“Javascript中的私有成员是什么意思”,在日常操作中,相信很多人在Javascript中的私有成员是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • Javascript中怎么实现一个私有成员
    这篇文章给大家介绍Javascript中怎么实现一个私有成员,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Javascript中闭包的特性,从而彻底解决了Javascript私有成员的...
    99+
    2022-10-19
  • php成员里面有几种
    php成员里面有3种:1、成员属性(类属性),即定义在类中的变量,用于储存类中的数据;2、成员方法,即定义在类中的函数,提供给对象解决事件;3、类常量,是在类中定义的常量,使用const关键字定义。本教程操作环境:windows7系统、PH...
    99+
    2023-05-14
    php
  • java成员变量有哪些
    Java中的成员变量主要有以下几种类型:1. 实例变量(Instance Variables):也称为对象变量,每个类的实例都会拥有...
    99+
    2023-08-22
    Java
  • python类变量和成员变量有什么区别
    在Python中,类变量和成员变量是两种不同类型的变量。类变量是在类的定义中声明的变量,它是类的所有实例共享的属性。当类变量的值被修...
    99+
    2023-10-10
    python
  • Python中类成员有哪些访问限制
    本篇文章为大家展示了Python中类成员有哪些访问限制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • VB.NET对象成员有什么用
    这篇文章主要介绍了VB.NET对象成员有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。对象是面向对象的编程中的基本单位。一个对象就是应用程序的一个元素,代表类的一个“实...
    99+
    2023-06-17
  • java中有哪些成员方法
    java中有哪些成员方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4...
    99+
    2023-06-14
  • php成员里有哪些属性
    这篇文章主要讲解了“php成员里有哪些属性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php成员里有哪些属性”吧!php成员里面有3种:1、成员属性(类属性),即定义在类中的变量,用于储存...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作