类和实例
- 关键字: Class
#定义一个Student类 object父类
class student(object):
pass
- 初始化方法 (______init______) 可以在创建实例的时候绑定属性
注意:特殊方法“init”前后有两个下划线!!!
def __init__(self, name, score):
self.name = name
self.score = score
- 添加方法
def get_grade(self):
if self.score >= 90:
return 'A'
if self.score > 80:
return 'B'
if self.score >=60:
return 'C'
if self.score < 60:
return 'D'
访问限制
想让内部的变量不被外部访问,可以在属性的名称前面加上两个下划线(__),这样就可以把变量变成私有变量,只可以内部访问的 不可以外部访问
class Student(object):
def __init__(self, name, score):
self.__name = name
self.__score = score
def print_score(self):
print('%s,%s' % (self.__name, self.__score))
如果需要外部可以获取到name的值 则可以添加get方法(get_name)
def get_name(self):
return self.__name
如果外部可以修改score的值,则可以添加set方法 (set_score)
def set_score(self, score):
self.__score = score;
如果不设置成私有变量,就可以修改score的值,为什么要大费周章的设置成私有变量,然后添加set方法呢,主要好处是我们可以通过set方法来对score传入的值进行校验
def set_score(self, score):
if 0 <= score <= 100:
self.__score = score
else:
print("bad score")