zoukankan      html  css  js  c++  java
  • python学习第二天

    ——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实例能添加的属性。
    @propenrty
    class 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=value
    MixIn
    错误异常捕捉处理
     
    try:
    print('try...')
    r = 10 / 0
    print('result:', r)
    except ZeroDivisionError as e:
    print('except:', e)
    finally:
    print('finally...')
    print('END')
     
     
     
     
  • 相关阅读:
    window.location.href无法跳转的解决办法
    HTTP 错误 405.0
    C# 浅拷贝与深拷贝
    C# .ToString() 格式化
    深入理解AsyncTask
    【转】Android子线程真的不能更新UI么
    深入理解Activity的启动模式
    Android7.0,剪裁后提示“无法保存经过裁剪的图片”
    Android工程改包名
    javah命令,提示“找不到类文件”
  • 原文地址:https://www.cnblogs.com/networking/p/11096879.html
Copyright © 2011-2022 走看看