zoukankan      html  css  js  c++  java
  • python 私有属性的作用

    python 私有属性的作用

    class Player():
        def __init__(self, name, power, skill):
            self.name = name
            self.power = power
            self.skill = skill
    
        def print_role(self):
            print(('%s: %s %s')%(self.name,self.power,self.skill))
    
        def updateName(self, new_name):
            self.name = new_name
    
    user1 = Player('tom',100,'police')
    user1.print_role()              #tom: 100 police
    
    user1.updateName('jack')        # 可以更新名字
    user1.print_role()              #jack: 100 police
    
    user1.name = 'mark'             # 可以更新名字
    user1.print_role()             #mark: 100 police

    当属性变成私有属性之后,只能通过方法来更改属性值,避免了属性直接被强制修改

    class Player():
        def __init__(self, name, power, skill):
            self.__name = name
            self.power = power
            self.skill = skill
    
        def print_role(self):
            print(('%s: %s %s')%(self.__name,self.power,self.skill))
    
        def updateName(self, new_name):
            self.__name = new_name
    
    user1 = Player('tom',100,'police')
    user1.print_role()            #tom: 100 police
    
    user1.updateName('jack')      #可以更新名字
    user1.print_role()            #jack: 100 police
    
    user1.__name = 'lili'         #无法更新名字
    user1.print_role()            #jack: 100 police
    
    user1.name = 'mark'           #无法更新名字
    user1.print_role()            #jack: 100 police

    python 私有属性的作用

  • 相关阅读:
    MQTT的编译和安装(mosquitto)
    四、固件分析-固件逆向
    三、固件分析-固件提取
    二、硬件分析-电路分析
    一、硬件分析
    gdb调试
    AES加密中遇到的坑
    多线程中快速定位段错误位置
    理想的数据加密流程
    Centos进入单用户修改root密码
  • 原文地址:https://www.cnblogs.com/111testing/p/13907860.html
Copyright © 2011-2022 走看看