隐藏属性:

  隐藏方法: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) # 传入数值,导致修改不成功