python Class:改变私有变量的值的2种方法
改变类的私有变量的值有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
转载于:https://blog.51cto.com/13502993/2161773
https://blog.csdn.net/weixin_34221276/article/details/93021335