Python 类的私有属性和私有方法实例分析

 更新时间:2019年09月29日 09:19:03   作者:houyanhua1  
这篇文章主要介绍了Python 类的私有属性和私有方法,结合实例形式分析了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相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

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

相关文章

  • 使用python将请求的requests headers参数格式化方法

    使用python将请求的requests headers参数格式化方法

    今天小编就为大家分享一篇使用python将请求的requests headers参数格式化方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python 修改本地网络配置的方法

    python 修改本地网络配置的方法

    今天小编就为大家分享一篇python 修改本地网络配置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django实现文章详情页面跳转代码实例

    Django实现文章详情页面跳转代码实例

    这篇文章主要介绍了Django实现文章详情页面跳转代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详解Python中的数据清洗工具flashtext

    详解Python中的数据清洗工具flashtext

    FlashText是GitHub上的一个开源Python库,正如之前所提到的,它在提取关键字和替换关键字任务上有着极高的性能。本文将详解一下flashtext的使用,需要的可以参考一下
    2022-06-06
  • 关于Python3 lambda函数的深入浅出

    关于Python3 lambda函数的深入浅出

    今天小编就为大家分享一篇关于Python3 lambda函数的深入浅出,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python中的with语句与上下文管理器学习总结

    Python中的with语句与上下文管理器学习总结

    在Python中作为上下文管理器的对象可以使用with语句,提供上下文管理器的contextlib模块的使用则是Python编程中的高级技巧,下面我们就来详细整理一下Python中的with语句与上下文管理器学习总结:
    2016-06-06
  • Python Pygame实战之打砖块游戏的实现

    Python Pygame实战之打砖块游戏的实现

    这篇文章主要介绍了如何利用Python实现经典的游戏—打砖块。玩家操作一根萤幕上水平的“棒子”,让一颗不断弹来弹去的“球”在撞击作为过关目标消去的“砖块”的途中不会落到萤幕底下。感兴趣的小伙伴可以了解一下
    2022-03-03
  • Python Coroutine池化的实现详解

    Python Coroutine池化的实现详解

    在当今计算机科学和软件工程的领域中,池化技术如线程池、连接池和对象池等已经成为优化资源利用率和提高软件性能的重要工具,所以下面我们就来看看Coroutine池化的具体实现吧
    2024-01-01
  • 让代码变得更易维护的7个Python库

    让代码变得更易维护的7个Python库

    今天小编就为大家分享一篇关于让代码变得更易维护的7个Python库,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • python如何每天在指定时间段运行程序及关闭程序

    python如何每天在指定时间段运行程序及关闭程序

    这篇文章主要介绍了python如何每天在指定时间段运行程序及关闭程序问题,具有很好的参考价值,希望对大家有所帮助。
    2023-04-04

最新评论