改变类的私有变量的值有2种方法:
间接:为这个私有变量提供一个操作的方法,如:def get_score(self, score)
直接:实例名._类名__私有变量名 = 值, 如:f._Student__score = 10
间接
#!/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