python Class:改变私有变量的值的2种方法

改变类的私有变量的值有2种方法:

  1. 间接:为这个私有变量提供一个操作的方法,如:def get_score(self, score)
  2. 直接:实例名._类名__私有变量名 = 值, 如:f._Student__score = 10
  1. 间接
#!/usr/bin/python
# -*- coding: utf-8 -*-
class Student(object):
    def __init__(self,name, score):
        self.__name = name
        self.__score = score
        
    def set_score(self, score):
        if score < 11:
            print "false"
            return False
        self.__score = score
        return self.__score
        
    def get_score(self):
        return self.__score
        
f = Student('hah', 11)
print f.get_score()
f.set_score(12)
print f.get_score()

运行结果:

11
12

2.直接

#!/usr/bin/python
# -*- coding: utf-8 -*-
class Student(object):
    def __init__(self,name, score):
        self.__name = name
        self.__score = score
        
    def set_score(self, score):
        if score < 11:
            print "false"
            return False
        self.__score = score
        return self.__score
        
    def get_score(self):
        return self.__score
        
f._Student__score=13
print f.get_score()

运行结果:

13

转载于:https://blog.51cto.com/13502993/2161773

https://blog.csdn.net/weixin_34221276/article/details/93021335

您可能还喜欢...

发表回复