##Python面向对象编程(一)

2017-10-23  本文已影响4人  纳萨立克

类和实例

#定义一个Student类   object父类
class student(object):
    pass 

注意:特殊方法“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")
上一篇下一篇

猜你喜欢

热点阅读