1. <em id="yud1w"><acronym id="yud1w"><u id="yud1w"></u></acronym></em>
      
      
      <button id="yud1w"></button>

      python

      当前位置:首页?>?python面向对象?>?当前文章

      python面向对象

      类外部如何访问私有属性私有方法

      2021-09-25 164赞 老董笔记
      每篇文章努力于解决一个问题!更多精品可移步文章底部。

        在一些语言中私有属性和方法是无法在类外访问的,但是python中却不是这样,实际上Python并不能真正限制访问,Python只是偷偷改变以双下画线开头的方法或者属性名,会在这些方法或者属性名前添加单下画线和类名,所以python并不是真正的限制外部访问,只是一种语法上的变形。

        类外部如何访问私有属性私有方法,请看示例。

      # -*- coding:utf-8 -*-
      
      
      class Pwd:
          __name = '密码类'  # 会变形为_Pwd__name
      
          def __init__(self):
              self.__age = 10  # 变形为self._Pwd__age
      
          def __input_pwd(self,pwd):  # 变形为_Pwd__input_pwd
              if len(pwd) < 6:
                  print("密码太短")
              else:
                  print('密码为',pwd)
      
          # 类内部可以直接__input_pwd的形式访问到
          def set_pwd(self,pwd):
              self.__input_pwd(pwd)
      
      
      if __name__ == "__main__":
          u1 = Pwd()
          print(Pwd._Pwd__name)
          u1.set_pwd('12345678')
          # 外部访问
          u1._Pwd__input_pwd('66666666')
      
      密码类
      密码为 12345678
      密码为 66666666
      

      文章评论

      类外部如何访问私有属性私有方法文章写得不错,值得赞赏
      国产99视频精品免视看6