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 私有属性的作用

  • 相关阅读:
    组合模式
    迭代器模式
    模板方法模式
    外观模式
    适配器模式
    运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist
    idea maven 打包 引用本地jar
    centos7 安装redis
    centos7 防火墙
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/111testing/p/13907860.html
Copyright © 2011-2022 走看看