#!/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版权协议,转载请附上原文出处链接和本声明。