隐藏方法:shool = 'SH' ---> __shool = 'SH'
把属性隐藏起来,避免直接调用或者错误的修改。
隐藏属性只是改变了该属性的调用方法,达到对外隐藏的目的,对类内部的调用则不隐藏。
如果需要从外部调用,则可使用以下方法:
_类名.__shool ,即在隐藏属性名前加上“_类名”
通过内置方法来实现隐藏发生的调用、修改等。
class Student():
__shool = 'SH'
def get_name(self):
return self.__shool # 相当于从外部调用_Student.__shool
def set_name(self,newname):
if not isinstance(newname,str):
print('数据类型不合法')
return
self.__shool = newname
调用:
stu = Student():
stu.get_name()
stu.set_name(123) # 传入数值,导致修改不成功