Python面向对象程序设计之私有变量,私有方法原理与用法分析

作者:随风行云 时间:2022-04-17 01:37:50 

本文实例讲述了Python面向对象程序设计之私有变量,私有方法原理与用法。分享给大家供大家参考,具体如下:

私有变量,私有方法:

  • python的私有化是为了规划私有属性,避免非相关的访问【假如!我有老婆,你不能直接知道我老婆是谁,你只有问我才会知道,即我的私有属性只有我知道】

  • 在python中定义私有变量和私有方法只需要在变量名或函数名前加上 "__"两个下划线Python面向对象程序设计之私有变量,私有方法原理与用法分析

  • 在类内部的方法中使用时  self.__变量名或函数名。Python面向对象程序设计之私有变量,私有方法原理与用法分析

  • 实际上,如果真要访问私有变量和私有方法,也是可以访问的,因为实际上私有化的操作只是将变量或函数名更改了而已:

    class A:  _private=6  __private_value=5  def __private_func(self):    print("hello")  def get_private_value(self):    return self.__private_valuea=A()# print(a.__private_value)###报错,找不到该属性print(a.get_private_value())print(a._A__private_value)  

    • 下例中由private_value变为了_A__private_value【即_类名__属性名】,但为了保持私有性,不建议直接使用这种方法访问Python面向对象程序设计之私有变量,私有方法原理与用法分析

  • 私有化变量和方法的继承:【子类不会继承基类私有属性,但仍然通过基类的函数来获取或可以强行访问】


class A:
 _private=6
 __private_value=5
 def __private_func(self):
   print("hello")
 def get_private_value(self):
   return self.__private_value
class B(A):
 pass
b=B()
# print(b.__private_value)#报错
print(b.get_private_value())#可以使用父类的方法来获取私有属性
print(b._A__private_value)#强制访问还是可以的

希望本文所述对大家Python程序设计有所帮助。

来源:https://www.cnblogs.com/progor/p/8424014.html

标签:Python,面向对象,私有变量,私有方法
0
投稿

猜你喜欢

  • python并发编程之多进程、多线程、异步和协程详解

    2021-12-10 00:20:35
  • vue中的路由传值与重调本路由改变参数

    2024-04-27 16:10:12
  • 如何基于python3和Vue实现AES数据加密

    2023-08-08 23:47:37
  • vue文本识别"\\n"换行问题的解决方式

    2024-05-09 10:51:43
  • Python环境搭建过程从安装到Hello World

    2023-03-03 07:41:36
  • python 在服务器上调用数据库特别慢的解决过程

    2024-01-19 11:40:20
  • pycharm 如何取消连按两下shift出现的全局搜索

    2023-08-24 17:44:12
  • python opencv实现图像矫正功能

    2022-05-22 17:00:13
  • 在Python中使用itertools模块中的组合函数的教程

    2023-11-06 16:31:36
  • Python虚拟环境的创建和使用详解

    2022-09-14 18:05:26
  • Python Logging 日志记录入门学习

    2022-05-17 14:48:39
  • CSS教程:简单理解em

    2008-07-03 12:44:00
  • 一篇文章带你搞懂Python类的相关知识

    2021-06-01 19:31:54
  • python+selenium实现QQ邮箱自动发送功能

    2021-11-11 22:03:58
  • 适合所有表的添加、删除、修改的函数

    2008-04-15 15:29:00
  • 网站数据库,是选SQL Server还是Access好

    2008-05-23 13:19:00
  • Python如何对齐字符串

    2023-05-30 01:21:11
  • Golang爬虫框架 colly的使用

    2024-02-02 13:40:55
  • Python numpy之线性代数与随机漫步

    2021-12-04 05:20:01
  • python实现搜索本地文件信息写入文件的方法

    2023-01-19 10:21:47
  • asp之家 网络编程 m.aspxhome.com