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())

    返回目录

  • 相关阅读:
    无向图求所有路径C#版
    centos 7 无痛安装 es
    rust 实现协程池
    spring boot fat jar 引入新的jar 文件到classpath
    nicolaka/netshoot 强大的容器网络问题解决工具
    使用nsenter 解决tcpcollect容器网络捕捉问题
    centraldogma git 镜像配置
    jmespath java 使用
    使用apicurio-registry 管理schema
    bfe 简单学习示例
  • 原文地址:https://www.cnblogs.com/hankleo/p/10503740.html
Copyright © 2011-2022 走看看