1.单下划线
变量前的单下划线表示表面上私有
但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。
# *===================================*
# -*- coding: utf-8 -*-
# * Time : 2019-06-25 11:47
# * Author : zhangsf
# *===================================*
class convertstrtoint:
_name = "_zhangvalue"
__name = "__zhangvalue"
print(convertstrtoint._name)
print(convertstrtoint.__name)
此时打印输出的时候会报错
此时所出现的问题就是说明在类中找不到属性 __name
2.双下划线
变量前的单下划线表示真正的私有,实际上的私有,只有内部可以访问,外部不能访问
但是有窍门,可以在类里面增加get_name和set_name这样的方法来突破限制,而且还能在方法里做验证
# *===================================*
# -*- coding: utf-8 -*-
# * Time : 2019-06-25 11:47
# * Author : zhangsf
# *=====