自学python之访问属性

#!/usr/bin/env python
# encoding: utf-8
'''
@author: heshengjin-何胜金
@contact: 2356899074@qq.com
@software: pycharm
@file: accessTest.py
@time: 2019/4/21 0021 20:32
@desc:访问属性测试
__xx	这是私有变量, 只有内部可以访问,外部不可以访问。但是也不是一定不可以访问,只要以 _类名__xx样式就可以访问 。但最好不要这样做,养成良好编程习惯
_x	    这是实例变量,可以访问,但是不要轻易访问。按照约定俗成,当你看到这样的变量时,意思就是,“虽然我可以被访问,但请把我视为私有变量,不要随意访问”。
'''


class Hsj(object):
    nickname = '小康'
    _colleage = '云南师范大学'
    __year = '2016/07/01'
    def __init__(self, name, age):
        self.name=name
        self.age=age

if __name__ == '__main__':
    hsjinstance = Hsj('hsj', 18)
    print(hsjinstance.nickname)
    print(hsjinstance._colleage)
    # print(hsjinstance._Hsj__year) this is true access attr method!
    print(hsjinstance.__year)

在这里插入图片描述

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2019/4/29 14:17
# @Author  : 何胜金-heshengjin
# @Site    : 
# @File    : scope_test.py
# @Software: PyCharm
"""
测试作用域的使用
"""


class TestScope(object):
    def __init__(self):
        super(TestScope,self).__init__()
        self.name = '测试作用域-name'
        self._age = '测试作用域-age'
        self.__sex = '测试作用域-sex'

if __name__ == '__main__':
    a = TestScope()
    print(a.name)
    print(a._age)
    # print(a.__sex)
    # 正确的使用方式-强制直接访问私有的变量
    print(a._TestScope__sex)


在这里插入图片描述


版权声明:本文为HSJ0170原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。