zoukankan      html  css  js  c++  java
  • python第五十二课--自定义异常类

    myexception.py

    '''
    实现自定义异常类:
    '''
    class MyException(Exception):
        def __init__(self,msg):
            super().__init__(msg)


    封装一个Person类.py
    from myexception import MyException
    
    class Person:
        def __init__(self,name,age):
            self.name=name
            self.__age=age
    
        def setAge(self,age):
            #合法性校验
            if age<0 or age>130:
                raise MyException('年龄有误...')
            else:
                self.__age=age
    
        # def getAge(self):
        #     return self.__age
    
        def __str__(self):
            return 'name: %s, age:%s' %(self.name,self.__age)
    
    #实例化对象
    p=Person('李四',50)
    print(p)
    
    p.setAge(180)
    print(p.setAge())
    property和属性名setter注解的使用.py
    from myexception import MyException
    '''
    4.@property和@属性名.setter注解的使用
    
    作用:简化getter和setter函数,让你在使用过程中仿佛又回来了对象操作属性那般丝滑...
    
    举例:
    
    @property
    
    def age(self):
    
    return self.__age
    
    @age.setter
    
    def age(self,age):
    
    self.__age = age
    
    p.age = 50
    
    print(p.age)
    
    from myexception import MyException
    '''
    
    #@property注解的使用:
    class Person:
        def __init__(self,name,age):
            self.name=name
            self.__age=age
    
        def setAge(self,age):
            #合法性检验
            if age<0 or age>130:
                raise MyException('年龄有误...')
            else:
                self.__age=age
    
        def getAge(self):
            return self.__age
    
        @property
        def age(self):
            print('aaaaaaaaaa')
            return self.__age
    
        @age.setter
        def age(self,age):
            print('bbbbbbbbbbbb')
            #合法性校验
            self.__age=age
    
        def __str__(self):
            return 'name:%s,age:%s' %(self.name,self.__age)
    
    #实例化对象
    p=Person('lily',25)
    print(p)
    
    p.age=250
    print(p.age)
    
    p.setAge(100)
    print(p.getAge())

    返回目录

  • 相关阅读:
    课表
    hz评测机的迷惑操作
    联赛模拟测试16
    第四阶段总结
    震惊!OI居然还考天体运动
    简单题 题解
    P2340 [USACO03FALL]Cow Exhibition G题解
    题目分享I 三代目
    题目分享H 三代目
    题目分享G 三代目
  • 原文地址:https://www.cnblogs.com/hankleo/p/10503740.html
Copyright © 2011-2022 走看看