• python 基础——私有属性


    私有属性

    python 私有属性以两个下划线开头。

    python 私有属性只能在类内部访问,类外面访问会出错。

    python 私有属性之所以不能在外面直接通过名称来访问,其实质是因为 python 做了一次名称变换。

    保护属性

    python 保护属性更多的是一种语法上的标识,用来提醒直接修改改对象时候要小心。

    python 保护属性和公开属性都可以在类外面直接访问。

    class NewClass(object):
        def __init__(self):
            self.public_field = 5    # public
            self.__private_field = 10    # private
            self._protect_field = 99    # protect
        
        def __private_method(self):
            print "I am private method"
        
        def public_method(self):
            print "I am public method"
    
    test = NewClass()
    
    print test.public_field
    test.public_method()
    
    print test.__dict__    # {'_NewClass__private_field': 10, 'public_field': 5}
    
    # 使用变换过后的名称访问,Success
    print test._NewClass__private_field    # 10    
    test._NewClass__private_method()    # I am private method 
    
    # 直接访问,Fail
    print test.__private_field    # AttributeError: 'NewClass' object has no attribute '__private_field'
    test.__private_method()    # AttributeError: 'NewClass' object has no attribute '__private_method'
            
  • 相关阅读:
    npm私服包管理-发布
    搭建npm私服
    vue.js框架搭建
    基于cropper实现图片上传,剪切,下载
    base64转图片
    获取file的路径
    如何制定好测试策略(一)
    让测试团队慢慢死去!-有同感,转载
    2016-2016自动化测试的趋势
    2016-安全性测试
  • 原文地址:https://www.cnblogs.com/licongyu/p/5818290.html
Copyright © 2020-2023  润新知