#!/usr/bin/python
# -*- coding: utf-8 -*-
'''如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,
就变成了一个私有变量(private),只有内部可以访问,外部不能访问,所以,我们把Student类改一改'''
class Student(object):
"""docstring for Student"""
def __init__(self, name, age, score,):
#属性的名称前加上__(两个下划线),则表示为私有属性,只有内部可以访问,外部不能访问
self.__name = name
self.__age = age
self.__score = score
#但是如果外部代码要获取name和score怎么办?可以给Student类增加get_name和get_score这样的方法:
def get_name(self):
return self.__name
def get_score(self):
return self.__score
#如果又要允许外部代码修改score怎么办?可以再给Student类增加set_score方法:
def set_name(self,name):
self.__name = name
def set_score(self,score):
if 0<score<100:
self.__score = score
else:
raise ValueError('bad score')
#判断成绩
#
def get_level(self):
if self.__score > 90:
return self.__name+"A"
elif self.__score > 70:
return self.__name+"B"
else:
return self.__name+"c"
lisa = Student('lisa','18',99)
suki = Student('suki','10',76)
tom = Student('tom','103',55)
print(lisa.get_level())
print(suki.get_level())
print(tom.get_level())
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。