python学习第二天,,—&md


——init_()方法访问属性继承定义子类的方法# -*- coding: utf-8 -*-class Student(object): def __init__(self,name,score): self._name=name self._score=score def get_name(self): return self._name def get_score(self): return self._score def set_score(self,score): if 0<=score<=100: self._score=score else: raise ValueError(‘bad score‘) def get_grade(self): if self._score >=90: return ‘A‘ elif self._score >=60: return ‘B‘ else: return ‘C‘bart=Student(‘Bart Simpson‘,90)print(‘bart.get_name()=‘,bart.get_name())bart.set_score(95)print (‘bart.get_score()=‘,bart.get_score())print (‘Do Not Use Bart_Student_name:‘,bart.get_name())如果变量名_就变成了一个私有变量,只有内部才可以使用,外部无法访问。使用_slots_为了达到限制的目的,python允许在定义class的时候,定义一个特殊的_slots_变量,来限制class实例能添加的属性。@propenrtyclass Student(object): @property def score(self): return self.score @score.setter def score(self,value): if not isinstance(value,int): raise ValueError(‘score must be an interger!‘) if value <0 or value >100: raise ValueError("score must between 0~10") self._score=valueMixIn错误异常捕捉处理try: print(‘try...‘) r = 10 / 0 print(‘result:‘, r)except ZeroDivisionError as e: print(‘except:‘, e)finally: print(‘finally...‘)print(‘END‘)

python学习第二天

评论关闭