class Student(object):
def __init__(self,name,score):
self.__name=name
self.__score=score
def get_name(self):
return self.__name
def get_grade(self):
if self.score>80:
return 'A'
elif 60<self.score<80:
return 'B'
else:
return 'C'
stu=Student('xiaoming',66)
print(stu.get_name(),':',stu.get_grade())
输出:xiaoming : A
求教:为什么stu.name不能输出,而get_grade()函数可以正常运行。可是get_grade()函数里的是self.score而不是self.__score,init里没有定义self.score啊,请问为什么可以测试通过?
请问为什么没定义self.score而get_grade()函数里的self.score可以正确执行,而打印self.score会报错???
python 3.8 vscode,把你的代码运行了一遍就报self.score错误,改为self.__score就完全通过了,没遇到你说的情况哎
Sign in to make a reply
小琦童鞋今天减肥了么
class Student(object):
def __init__(self,name,score):
self.__name=name
self.__score=score
def get_name(self):
return self.__name
def get_grade(self):
if self.score>80:
return 'A'
elif 60<self.score<80:
return 'B'
else:
return 'C'
stu=Student('xiaoming',66)
print(stu.get_name(),':',stu.get_grade())
输出:xiaoming : A
求教:为什么stu.name不能输出,而get_grade()函数可以正常运行。可是get_grade()函数里的是self.score而不是self.__score,init里没有定义self.score啊,请问为什么可以测试通过?