zoukankan      html  css  js  c++  java
  • Python私有属性和私有方法

    Python私有属性和私有方法

    一、总结

    一句话总结:

    在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法
    class Women:
    
        def __init__(self, name):
    
            self.name = name
            # 不要问女生的年龄
            self.__age = 18
    
        def __secret(self):
            print("我的年龄是 %d" % self.__age)
    
    
    xiaofang = Women("小芳")
    # 私有属性,外部不能直接访问
    # print(xiaofang.__age)
    
    # 私有方法,外部不能直接调用
    # xiaofang.__secret()

    二、Python私有属性和私有方法

    转自或参考:Python私有属性和私有方法 - 1769987233 - 博客园
    https://www.cnblogs.com/yzg-14/p/12185285.html

    01. 应用场景及定义方式

    应用场景

    • 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
    • 私有属性 就是 对象 不希望公开的 属性
    • 私有方法 就是 对象 不希望公开的 方法

    定义方式

    • 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法
    class Women:
    
        def __init__(self, name):
    
            self.name = name
            # 不要问女生的年龄
            self.__age = 18
    
        def __secret(self):
            print("我的年龄是 %d" % self.__age)
    
    
    xiaofang = Women("小芳")
    # 私有属性,外部不能直接访问
    # print(xiaofang.__age)
    
    # 私有方法,外部不能直接调用
    # xiaofang.__secret()

    02. 伪私有属性和私有方法(科普)

    提示:在日常开发中,不要使用这种方式访问对象的 私有属性 或 私有方法

    Python 中,并没有 真正意义 的 私有

    • 在给 属性方法 命名时,实际是对 名称 做了一些特殊处理,使得外界无法访问到
    • 处理方式:在 名称 前面加上 _类名 => _类名__名称
    # 私有属性,外部不能直接访问到
    print(xiaofang._Women__age)
    
    # 私有方法,外部不能直接调用
    xiaofang._Women__secret()
    

      

     
  • 相关阅读:
    并发编程3
    并发编程2
    4/23
    4/22
    并发编程1
    粘包问题
    Navicat12激活
    IDEA创建maven项目报错解决:Failed to create a Maven project: 'C:/Users/../IdeaProjects/../pom.xml' already e
    IDEA
    windows下查看端口运行情况--解决端口冲突问题
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13155568.html
Copyright © 2011-2022 走看看